| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- GCC = gcc
- CFLAGS = -g -Wall -Wshadow
- LIBS =
- SOURCES = answer06.c pa06.c
- TARGET = pa06
- TESTN := $(shell seq 0 4)
- # -------------------------------------------------------------
- TESTS := $(addprefix test,${TESTN})
- .PHONY : all build clean environment help testall $(TESTS)
- .DEFAULT_GOAL := build
- OBJF = obj
- OBJS = $(patsubst %.c,$(OBJF)/%.o,$(SOURCES))
- -include $(SOURCES:%=$(OBJF)/%.P)
- all: | build testall
- testall: | test0 test1 test2 test3 test4
- build: $(TARGET)
- clean:
- @cd $(CURDIR)
- rm -rf $(TARGET) $(OBJF) outputs
- environment:
- @cd $(CURDIR)
- @mkdir -p outputs
- @mkdir -p $(OBJF)
- help:
- @echo
- @echo " make Build $(TARGET)"
- @echo " make testall Run /all/ testcases"
- @echo " make clean Remove all temporary files"
- @echo " make help Print this message"
- $(TARGET): $(OBJS) | environment
- $(GCC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
- $(OBJF)/%.o: %.c | environment
- @$(GCC) -MM $(CFLAGS) $< | sed 's,^\([^ ]\),$(OBJF)\/\1,g' | sed '$$ s,$$, \\,' > $(OBJF)/$<.P
- $(GCC) $(CFLAGS) -c -o $@ $<
- test0: $(TARGET) | environment
- @./bin/test.sh "$(TARGET)" images/01-unnormalized-smile.ee264 outputs/01-smile.ppm expected/01-smile.ppm outputs/valgrind-log0
- test1: $(TARGET) | environment
- @./bin/test.sh "$(TARGET)" images/02-unnormalized-cat-chess.ee264 outputs/02-cat-chess.ppm expected/02-cat-chess.ppm outputs/valgrind-log1
- test2: $(TARGET) | environment
- @./bin/test.sh "$(TARGET)" images/03-unnormalized-hawkes-bay-NZ.ee264 outputs/03-hawkes-bay-NZ.ppm expected/03-hawkes-bay-NZ.ppm outputs/valgrind-log2
- test3: $(TARGET) | environment
- @./bin/test.sh "$(TARGET)" images/04-unnormalized-nelsonmandela.ee264 outputs/04-nelsonmandela.ppm expected/04-nelsonmandela.ppm outputs/valgrind-log3
- test4: $(TARGET) | environment
- @./bin/test.sh "$(TARGET)" images/05-unnormalized-sagan-stamp.ee264 outputs/05-sagan-stamp.ppm expected/05-sagan-stamp.ppm outputs/valgrind-log4
|