Makefile 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. AR = ar
  11. RANLIB = ranlib
  12. .c.o:
  13. $(CC) $(CFLAGS) -c -o $@ $<
  14. %.c: ../%.c
  15. cp -f $< $@
  16. %.uc: ../%.uc
  17. cp -f $< $@
  18. all: raid6.a raid6test
  19. raid6.a: raid6int1.o raid6int2.o raid6int4.o raid6int8.o raid6int16.o \
  20. raid6int32.o \
  21. raid6mmx.o raid6sse1.o raid6sse2.o \
  22. raid6altivec1.o raid6altivec2.o raid6altivec4.o raid6altivec8.o \
  23. raid6recov.o raid6algos.o \
  24. raid6tables.o
  25. rm -f $@
  26. $(AR) cq $@ $^
  27. $(RANLIB) $@
  28. raid6test: test.c raid6.a
  29. $(CC) $(CFLAGS) -o raid6test $^
  30. raid6altivec1.c: raid6altivec.uc ../unroll.pl
  31. $(PERL) ../unroll.pl 1 < raid6altivec.uc > $@
  32. raid6altivec2.c: raid6altivec.uc ../unroll.pl
  33. $(PERL) ../unroll.pl 2 < raid6altivec.uc > $@
  34. raid6altivec4.c: raid6altivec.uc ../unroll.pl
  35. $(PERL) ../unroll.pl 4 < raid6altivec.uc > $@
  36. raid6altivec8.c: raid6altivec.uc ../unroll.pl
  37. $(PERL) ../unroll.pl 8 < raid6altivec.uc > $@
  38. raid6int1.c: raid6int.uc ../unroll.pl
  39. $(PERL) ../unroll.pl 1 < raid6int.uc > $@
  40. raid6int2.c: raid6int.uc ../unroll.pl
  41. $(PERL) ../unroll.pl 2 < raid6int.uc > $@
  42. raid6int4.c: raid6int.uc ../unroll.pl
  43. $(PERL) ../unroll.pl 4 < raid6int.uc > $@
  44. raid6int8.c: raid6int.uc ../unroll.pl
  45. $(PERL) ../unroll.pl 8 < raid6int.uc > $@
  46. raid6int16.c: raid6int.uc ../unroll.pl
  47. $(PERL) ../unroll.pl 16 < raid6int.uc > $@
  48. raid6int32.c: raid6int.uc ../unroll.pl
  49. $(PERL) ../unroll.pl 32 < raid6int.uc > $@
  50. raid6tables.c: mktables
  51. ./mktables > raid6tables.c
  52. clean:
  53. rm -f *.o *.a mktables mktables.c raid6int.uc raid6*.c raid6test
  54. spotless: clean
  55. rm -f *~