Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #
  2. # This is a simple Makefile to test some of the RAID-6 code
  3. # from userspace.
  4. #
  5. CC = gcc
  6. OPTFLAGS = -O2 # Adjust as desired
  7. CFLAGS = -I.. -g $(OPTFLAGS)
  8. LD = ld
  9. PERL = perl
  10. .c.o:
  11. $(CC) $(CFLAGS) -c -o $@ $<
  12. %.c: ../%.c
  13. cp -f $< $@
  14. %.uc: ../%.uc
  15. cp -f $< $@
  16. all: raid6.o raid6test
  17. raid6.o: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \
  18. raid6int32.o \
  19. raid6mmx.o raid6sse1.o raid6sse2.o \
  20. raid6recov.o raid6algos.o \
  21. raid6tables.o
  22. $(LD) -r -o $@ $^
  23. raid6test: raid6.o test.c
  24. $(CC) $(CFLAGS) -o raid6test $^
  25. raid6int1.c: raid6int.uc ../unroll.pl
  26. $(PERL) ../unroll.pl 1 < raid6int.uc > $@
  27. raid6int2.c: raid6int.uc ../unroll.pl
  28. $(PERL) ../unroll.pl 2 < raid6int.uc > $@
  29. raid6int4.c: raid6int.uc ../unroll.pl
  30. $(PERL) ../unroll.pl 4 < raid6int.uc > $@
  31. raid6int8.c: raid6int.uc ../unroll.pl
  32. $(PERL) ../unroll.pl 8 < raid6int.uc > $@
  33. raid6int16.c: raid6int.uc ../unroll.pl
  34. $(PERL) ../unroll.pl 16 < raid6int.uc > $@
  35. raid6int32.c: raid6int.uc ../unroll.pl
  36. $(PERL) ../unroll.pl 32 < raid6int.uc > $@
  37. raid6tables.c: mktables
  38. ./mktables > raid6tables.c
  39. clean:
  40. rm -f *.o mktables mktables.c raid6int.uc raid6*.c raid6test
  41. spotless: clean
  42. rm -f *~