Makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. GCC = gcc
  2. CFLAGS = -g -Wall -Wshadow
  3. OBJS = answer03.o pa03.o
  4. HDRS = pa03.h
  5. VALGRIND = valgrind --tool=memcheck --leak-check=full --verbose
  6. .PHONY : clean test0 test1 test2 test3 test4 test5
  7. pa03: $(OBJS) $(HDRS)
  8. $(GCC) $(CFLAGS) $(OBJS) -o $@
  9. perl grader.pl 5 2
  10. test0:
  11. @$(VALGRIND) --log-file=memoutput0 ./pa03 p 3 > outputpartition03
  12. @sort outputpartition03 > outputpartition03sorted
  13. @sort expectedpartition03 > expectedpartition03sorted
  14. @diff -w expectedpartition03sorted outputpartition03sorted
  15. @rm *sorted
  16. test1:
  17. @$(VALGRIND) --log-file=memoutput1 ./pa03 p 4 > outputpartition04
  18. @sort outputpartition04 > outputpartition04sorted
  19. @sort expectedpartition04 > expectedpartition04sorted
  20. @diff -w expectedpartition04sorted outputpartition04sorted
  21. @rm *sorted
  22. test2:
  23. @$(VALGRIND) --log-file=memoutput2 ./pa03 p 5 > outputpartition05
  24. @sort outputpartition05 > outputpartition05sorted
  25. @sort expectedpartition05 > expectedpartition05sorted
  26. @diff -w expectedpartition05sorted outputpartition05sorted
  27. @rm *sorted
  28. test3:
  29. @$(VALGRIND) --log-file=memoutput3 ./pa03 p 6 > outputpartition06
  30. @sort outputpartition06 > outputpartition06sorted
  31. @sort expectedpartition06 > expectedpartition06sorted
  32. @diff -w expectedpartition06sorted outputpartition06sorted
  33. @rm *sorted
  34. test4:
  35. @$(VALGRIND) --log-file=memoutput4 ./pa03 p 7 > outputpartition07
  36. @sort outputpartition07 > outputpartition07sorted
  37. @sort expectedpartition07 > expectedpartition07sorted
  38. @diff -w expectedpartition07sorted outputpartition07sorted
  39. @rm *sorted
  40. test5:
  41. @$(VALGRIND) --log-file=memoutput5 ./pa03 p 8 > outputpartition08
  42. @sort outputpartition08 > outputpartition08sorted
  43. @sort expectedpartition08 > expectedpartition08sorted
  44. @diff -w expectedpartition08sorted outputpartition08sorted
  45. @rm *sorted
  46. test6:
  47. @$(VALGRIND) --log-file=memoutput6 ./pa03 s 3 > outputsubset03
  48. @sort outputsubset03 > outputsubset03sorted
  49. @sort expectedsubset03 > expectedsubset03sorted
  50. @diff -w expectedsubset03sorted outputsubset03sorted
  51. @rm *sorted
  52. test7:
  53. @$(VALGRIND) --log-file=memoutput7 ./pa03 s 4 > outputsubset04
  54. @sort outputsubset04 > outputsubset04sorted
  55. @sort expectedsubset04 > expectedsubset04sorted
  56. @diff -w expectedsubset04sorted outputsubset04sorted
  57. @rm *sorted
  58. test8:
  59. @$(VALGRIND) --log-file=memoutput8 ./pa03 s 5 > outputsubset05
  60. @sort outputsubset05 > outputsubset05sorted
  61. @sort expectedsubset05 > expectedsubset05sorted
  62. @diff -w expectedsubset05sorted outputsubset05sorted
  63. @rm *sorted
  64. test9:
  65. @$(VALGRIND) --log-file=memoutput9 ./pa03 s 6 > outputsubset06
  66. @sort outputsubset06 > outputsubset06sorted
  67. @sort expectedsubset06 > expectedsubset06sorted
  68. @diff -w expectedsubset06sorted outputsubset06sorted
  69. @rm *sorted
  70. test10:
  71. @$(VALGRIND) --log-file=memoutput10 ./pa03 s 7 > outputsubset07
  72. @sort outputsubset07 > outputsubset07sorted
  73. @sort expectedsubset07 > expectedsubset07sorted
  74. @diff -w expectedsubset07sorted outputsubset07sorted
  75. @rm *sorted
  76. test11:
  77. @$(VALGRIND) --log-file=memoutput11 ./pa03 s 8 > outputsubset08
  78. @sort outputsubset08 > outputsubset08sorted
  79. @sort expectedsubset08 > expectedsubset08sorted
  80. @diff -w expectedsubset08sorted outputsubset08sorted
  81. @rm *sorted
  82. test12:
  83. @$(VALGRIND) --log-file=memoutput12 ./pa03 u 3 > outputpermute03
  84. @sort outputpermute03 > outputpermute03sorted
  85. @sort expectedpermute03 > expectedpermute03sorted
  86. @diff -w expectedpermute03sorted outputpermute03sorted
  87. @rm *sorted
  88. test13:
  89. @$(VALGRIND) --log-file=memoutput13 ./pa03 u 4 > outputpermute04
  90. @sort outputpermute04 > outputpermute04sorted
  91. @sort expectedpermute04 > expectedpermute04sorted
  92. @diff -w expectedpermute04sorted outputpermute04sorted
  93. @rm *sorted
  94. test14:
  95. @$(VALGRIND) --log-file=memoutput14 ./pa03 u 5 > outputpermute05
  96. @sort outputpermute05 > outputpermute05sorted
  97. @sort expectedpermute05 > expectedpermute05sorted
  98. @diff -w expectedpermute05sorted outputpermute05sorted
  99. @rm *sorted
  100. test15:
  101. @$(VALGRIND) --log-file=memoutput15 ./pa03 u 6 > outputpermute06
  102. @sort outputpermute06 > outputpermute06sorted
  103. @sort expectedpermute06 > expectedpermute06sorted
  104. @diff -w expectedpermute06sorted outputpermute06sorted
  105. @rm *sorted
  106. test16:
  107. @$(VALGRIND) --log-file=memoutput16 ./pa03 u 7 > outputpermute07
  108. @sort outputpermute07 > outputpermute07sorted
  109. @sort expectedpermute07 > expectedpermute07sorted
  110. @diff -w expectedpermute07sorted outputpermute07sorted
  111. @rm *sorted
  112. test17:
  113. @$(VALGRIND) --log-file=memoutput17 ./pa03 u 8 > outputpermute08
  114. @sort outputpermute08 > outputpermute08sorted
  115. @sort expectedpermute08 > expectedpermute08sorted
  116. @diff -w expectedpermute08sorted outputpermute08sorted
  117. @rm *sorted
  118. .c.o:
  119. $(GCC) $(CFLAGS) -c $*.c
  120. clean:
  121. rm -f pa03 $(OBJS) output* memoutput* *sorted