Makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. GCC = gcc
  2. CFLAGS = -g -Wall -Wshadow
  3. OBJS = tree.o pa10.o
  4. HDRS = tree.h
  5. VALGRIND = valgrind --tool=memcheck --leak-check=full --verbose
  6. pa10: $(OBJS) $(HDRS)
  7. $(GCC) $(CFLAGS) $(OBJS) -o $@
  8. gentree: tree.o pa10.o tree.h
  9. $(GCC) $(CFLAGS) $(OBJS) -o $@
  10. .c.o: $(HDRS)
  11. $(GCC) $(CFLAGS) -c $*.c
  12. grade:
  13. perl grader.pl 4 2 12
  14. test0: pa10
  15. @$(VALGRIND) --log-file=outputs/memoutput0 ./pa10 inputs/input0 > outputs/output0
  16. diff -w outputs/output0 expected/expected0
  17. test1: pa10
  18. @$(VALGRIND) --log-file=outputs/memoutput1 ./pa10 inputs/input1 > outputs/output1
  19. diff -w outputs/output1 expected/expected1
  20. test2: pa10
  21. @$(VALGRIND) --log-file=outputs/memoutput2 ./pa10 inputs/input2 > outputs/output2
  22. diff -w outputs/output2 expected/expected2
  23. test3: pa10
  24. @$(VALGRIND) --log-file=outputs/memoutput3 ./pa10 inputs/input3 > outputs/output3
  25. diff -w outputs/output3 expected/expected3
  26. test4: pa10
  27. @$(VALGRIND) --log-file=outputs/memoutput4 ./pa10 inputs/input4 > outputs/output4
  28. diff -w outputs/output4 expected/expected4
  29. test5: pa10
  30. @$(VALGRIND) --log-file=outputs/memoutput5 ./pa10 inputs/input5 > outputs/output5
  31. diff -w outputs/output5 expected/expected5
  32. test6: pa10
  33. @$(VALGRIND) --log-file=outputs/memoutput6 ./pa10 inputs/input6 > outputs/output6
  34. diff -w outputs/output6 expected/expected6
  35. test7: pa10
  36. @$(VALGRIND) --log-file=outputs/memoutput7 ./pa10 inputs/input7 > outputs/output7
  37. diff -w outputs/output7 expected/expected7
  38. test8: pa10
  39. @$(VALGRIND) --log-file=outputs/memoutput8 ./pa10 inputs/input8 > outputs/output8
  40. diff -w outputs/output8 expected/expected8
  41. test9: pa10
  42. @$(VALGRIND) --log-file=outputs/memoutput9 ./pa10 inputs/input9 > outputs/output9
  43. diff -w outputs/output9 expected/expected9
  44. test10: pa10
  45. @$(VALGRIND) --log-file=outputs/memoutput10 ./pa10 inputs/input10 > outputs/output10
  46. diff -w outputs/output10 expected/expected10
  47. test11: pa10
  48. @$(VALGRIND) --log-file=outputs/memoutput11 ./pa10 inputs/input11 > outputs/output11
  49. diff -w outputs/output11 expected/expected11
  50. extra: pa10
  51. @$(VALGRIND) --log-file=outputs/memoutput12 ./pa10 inputs/extra12 > outputs/output12
  52. diff -w outputs/output12 expected/expected12
  53. @$(VALGRIND) --log-file=outputs/memoutput13 ./pa10 inputs/extra13 > outputs/output13
  54. diff -w outputs/output13 expected/expected13
  55. @$(VALGRIND) --log-file=outputs/memoutput14 ./pa10 inputs/extra14 > outputs/output14
  56. diff -w outputs/output14 expected/expected14
  57. @$(VALGRIND) --log-file=outputs/memoutput15 ./pa10 inputs/extra15 > outputs/output15
  58. diff -w outputs/output15 expected/expected15
  59. @$(VALGRIND) --log-file=outputs/memoutput16 ./pa10 inputs/extra16 > outputs/output16
  60. diff -w outputs/output16 expected/expected16
  61. @$(VALGRIND) --log-file=outputs/memoutput17 ./pa10 inputs/extra17 > outputs/output17
  62. diff -w outputs/output17 expected/expected17
  63. @$(VALGRIND) --log-file=outputs/memoutput18 ./pa10 inputs/extra18 > outputs/output18
  64. diff -w outputs/output18 expected/expected18
  65. @$(VALGRIND) --log-file=outputs/memoutput19 ./pa10 inputs/extra19 > outputs/output19
  66. diff -w outputs/output19 expected/expected19
  67. @$(VALGRIND) --log-file=outputs/memoutput20 ./pa10 inputs/extra20 > outputs/output20
  68. diff -w outputs/output20 expected/expected20
  69. @$(VALGRIND) --log-file=outputs/memoutput21 ./pa10 inputs/extra21 > outputs/output21
  70. diff -w outputs/output21 expected/expected21
  71. @$(VALGRIND) --log-file=outputs/memoutput22 ./pa10 inputs/extra22 > outputs/output22
  72. diff -w outputs/output22 expected/expected22
  73. @$(VALGRIND) --log-file=outputs/memoutput23 ./pa10 inputs/extra23 > outputs/output23
  74. diff -w outputs/output23 expected/expected23
  75. @$(VALGRIND) --log-file=outputs/memoutput24 ./pa10 inputs/extra24 > outputs/output24
  76. diff -w outputs/output24 expected/expected24
  77. @$(VALGRIND) --log-file=outputs/memoutput25 ./pa10 inputs/extra25 > outputs/output25
  78. diff -w outputs/output25 expected/expected25
  79. @$(VALGRIND) --log-file=outputs/memoutput26 ./pa10 inputs/extra26 > outputs/output26
  80. diff -w outputs/output26 expected/expected26
  81. @$(VALGRIND) --log-file=outputs/memoutput27 ./pa10 inputs/extra27 > outputs/output27
  82. diff -w outputs/output27 expected/expected27
  83. @$(VALGRIND) --log-file=outputs/memoutput28 ./pa10 inputs/extra28 > outputs/output28
  84. diff -w outputs/output28 expected/expected28
  85. @$(VALGRIND) --log-file=outputs/memoutput29 ./pa10 inputs/extra29 > outputs/output29
  86. diff -w outputs/output29 expected/expected29
  87. @$(VALGRIND) --log-file=outputs/memoutput30 ./pa10 inputs/extra30 > outputs/output30
  88. diff -w outputs/output30 expected/expected30
  89. @$(VALGRIND) --log-file=outputs/memoutput31 ./pa10 inputs/extra31 > outputs/output31
  90. diff -w outputs/output31 expected/expected31
  91. clean:
  92. rm -f pa10 $(OBJS) outputs/*