Makefile 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. GCC = gcc
  2. CFLAGS = -g -Wall -Wshadow
  3. OBJS = student.o pa08.o
  4. HDRS = student.h
  5. VALGRIND = valgrind --tool=memcheck --leak-check=full --verbose
  6. pa08: $(OBJS) $(HDRS)
  7. $(GCC) $(CFLAGS) $(OBJS) -o $@
  8. grade:
  9. perl grader.pl 4 1 10
  10. .c.o:
  11. $(GCC) $(CFLAGS) -c $*.c
  12. clean:
  13. rm -f pa08 $(OBJS) outputs/*
  14. test0: pa08
  15. @$(VALGRIND) --log-file=outputs/memoutput0 ./pa08 inputs/input01 outputs/output01ID outputs/output01Name
  16. @diff -w outputs/output01ID expected/expected01ID
  17. @diff -w outputs/output01Name expected/expected01Name
  18. test1: pa08
  19. @$(VALGRIND) --log-file=outputs/memoutput1 ./pa08 inputs/input02 outputs/output02ID outputs/output02Name
  20. @diff -w outputs/output02ID expected/expected02ID
  21. @diff -w outputs/output02Name expected/expected02Name
  22. test2: pa08
  23. @$(VALGRIND) --log-file=outputs/memoutput2 ./pa08 inputs/input03 outputs/output03ID outputs/output03Name
  24. @diff -w outputs/output03ID expected/expected03ID
  25. @diff -w outputs/output03Name expected/expected03Name
  26. test3: pa08
  27. @$(VALGRIND) --log-file=outputs/memoutput3 ./pa08 inputs/input04 outputs/output04ID outputs/output04Name
  28. @diff -w outputs/output04ID expected/expected04ID
  29. @diff -w outputs/output04Name expected/expected04Name
  30. test4: pa08
  31. @$(VALGRIND) --log-file=outputs/memoutput4 ./pa08 inputs/input05 outputs/output05ID outputs/output05Name
  32. @diff -w outputs/output05ID expected/expected05ID
  33. @diff -w outputs/output05Name expected/expected05Name
  34. test5: pa08
  35. @$(VALGRIND) --log-file=outputs/memoutput5 ./pa08 inputs/input08 outputs/output08ID outputs/output08Name
  36. @diff -w outputs/output08ID expected/expected08ID
  37. @diff -w outputs/output08Name expected/expected08Name
  38. test6: pa08
  39. @$(VALGRIND) --log-file=outputs/memoutput6 ./pa08 inputs/input07 outputs/output07ID outputs/output07Name
  40. @diff -w outputs/output07ID expected/expected07ID
  41. @diff -w outputs/output07Name expected/expected07Name
  42. test7: pa08
  43. @$(VALGRIND) --log-file=outputs/memoutput7 ./pa08 inputs/input08 outputs/output08ID outputs/output08Name
  44. @diff -w outputs/output08ID expected/expected08ID
  45. @diff -w outputs/output08Name expected/expected08Name
  46. test8: pa08
  47. @$(VALGRIND) --log-file=outputs/memoutput8 ./pa08 inputs/input09 outputs/output09ID outputs/output09Name
  48. @diff -w outputs/output09ID expected/expected09ID
  49. @diff -w outputs/output09Name expected/expected09Name
  50. test9: pa08
  51. @$(VALGRIND) --log-file=outputs/memoutput9 ./pa08 inputs/input10 outputs/output10ID outputs/output10Name
  52. @diff -w outputs/output10ID expected/expected10ID
  53. @diff -w outputs/output10Name expected/expected10Name
  54. test10: pa08
  55. @$(VALGRIND) --log-file=outputs/memoutput10 ./pa08 inputs/input11 outputs/output11ID outputs/output11Name
  56. @diff -w outputs/output11ID expected/expected11ID
  57. @diff -w outputs/output11Name expected/expected11Name
  58. test11: pa08
  59. @$(VALGRIND) --log-file=outputs/memoutput11 ./pa08 inputs/input12 outputs/output12ID outputs/output12Name
  60. test12: pa08
  61. @touch outputs/output13ID
  62. @touch outputs/output13Name
  63. @chmod 444 outputs/output13ID
  64. @chmod 444 outputs/output13Name
  65. @$(VALGRIND) --log-file=outputs/memoutput12 ./pa08 inputs/input01 outputs/output13ID outputs/output13Name
  66. @rm outputs/output13ID
  67. @rm outputs/output13Name