Makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. GCC = gcc
  2. CFLAGS = -g -Wall -Wshadow
  3. OBJS = answer02.o pa02.o
  4. HDRS = pa02.h
  5. VALGRIND = valgrind --tool=memcheck --leak-check=full --verbose
  6. .PHONY: clean test0 test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 gen
  7. pa02: $(OBJS) $(HDRS)
  8. $(GCC) $(CFLAGS) $(OBJS) -o $@
  9. perl grader.pl 3 2
  10. test0:
  11. @$(VALGRIND) --log-file=memoutput0 ./pa02 input0 > output0
  12. @./pa02 input0 > output0
  13. @diff -w output0 expected0
  14. test1:
  15. @$(VALGRIND) --log-file=memoutput1 ./pa02 input1 > output1
  16. @./pa02 input1 > output1
  17. @diff -w output1 expected1
  18. test2:
  19. @$(VALGRIND) --log-file=memoutput2 ./pa02 input2 > output2
  20. @./pa02 input2 > output2
  21. @diff -w output2 expected2
  22. test3:
  23. @$(VALGRIND) --log-file=memoutput3 ./pa02 input3 > output3
  24. @./pa02 input3 > output3
  25. @diff -w output3 expected3
  26. test4:
  27. @$(VALGRIND) --log-file=memoutput4 ./pa02 input4 > output4
  28. @./pa02 input4 > output4
  29. @diff -w output4 expected4
  30. test5:
  31. @$(VALGRIND) --log-file=memoutput5 ./pa02 input5 > output5
  32. @./pa02 input5 > output5
  33. @diff -w output5 expected5
  34. test6:
  35. @$(VALGRIND) --log-file=memoutput6 ./pa02 input6 > output6
  36. @./pa02 input6 > output6
  37. @diff -w output6 expected6
  38. test7:
  39. @$(VALGRIND) --log-file=memoutput7 ./pa02 input7 > output7
  40. @./pa02 input7 > output7
  41. @diff -w output7 expected7
  42. test8:
  43. @$(VALGRIND) --log-file=memoutput8 ./pa02 input8 > output8
  44. @./pa02 input8 > output8
  45. @diff -w output8 expected8
  46. test9:
  47. @$(VALGRIND) --log-file=memoutput9 ./pa02 input9 > output9
  48. @./pa02 input9 > output9
  49. @diff -w output9 expected9
  50. test10:
  51. @$(VALGRIND) --log-file=memoutput10 ./pa02 input10 > output10
  52. @./pa02 input10 > output10
  53. @diff -w output10 expected10
  54. test11:
  55. @$(VALGRIND) --log-file=memoutput11 ./pa02 input11 > output11
  56. @./pa02 input11 > output11
  57. @diff -w output11 expected11
  58. test12:
  59. @$(VALGRIND) --log-file=memoutput12 ./pa02 input12 > output12
  60. @./pa02 input12 > output12
  61. @diff -w output12 expected12
  62. test13:
  63. @$(VALGRIND) --log-file=memoutput13 ./pa02 input13 > output13
  64. @./pa02 input13 > output13
  65. @diff -w output13 expected13
  66. test14:
  67. @$(VALGRIND) --log-file=memoutput14 ./pa02 input14 > output14
  68. @./pa02 input14 > output14
  69. @diff -w output14 expected14
  70. test15:
  71. @$(VALGRIND) --log-file=memoutput15 ./pa02 input15 > output15
  72. @./pa02 input15 > output15
  73. @diff -w output15 expected15
  74. test16:
  75. @$(VALGRIND) --log-file=memoutput16 ./pa02 input16 > output16
  76. @./pa02 input16 > output16
  77. @diff -w output16 expected16
  78. test17:
  79. @$(VALGRIND) --log-file=memoutput17 ./pa02 input17 > output17
  80. @./pa02 input17 > output17
  81. @diff -w output17 expected17
  82. test18:
  83. @$(VALGRIND) --log-file=memoutput18 ./pa02 input18 > output18
  84. @./pa02 input18 > output18
  85. @diff -w output18 expected18
  86. test19:
  87. @$(VALGRIND) --log-file=memoutput19 ./pa02 input19 > output19
  88. @./pa02 input19 > output19
  89. @diff -w output19 expected19
  90. .c.o:
  91. $(GCC) $(CFLAGS) -c $*.c
  92. gen: geninput.c
  93. $(GCC) $(CFLAGS) geninput.c -o geninput
  94. ./geninput
  95. clean:
  96. rm -f pa02 geninput $(OBJS) output* memoutput*