makefile (699B)
1 .PHONY: all clean test out 2 3 COMPILE=tcc 4 CFLAGS=-Wall -Wextra -pedantic -std=c99 -pipe 5 CLIBS=-lm 6 7 SRC_DIR := src 8 SOURCES := $(wildcard $(SRC_DIR)/*.c) 9 # SOURCES := $(filter-out src/serverTCP.c, $(SOURCES)) 10 OBJECTS := $(SOURCES:.c=.o) 11 12 $(info SOURCES are $(SOURCES)) 13 14 ifdef VALGRIND 15 CFLAGS += -g -O0 16 else ifdef DEBUG 17 CFLAGS += -g -fsanitize=undefined -fsanitize=thread 18 else 19 CFLAGS += -O2 20 endif 21 22 all: image_gen 23 24 image_gen: $(OBJECTS) | build 25 @mkdir -p build 26 mv $(OBJECTS) build/ 27 $(COMPILE) $(CFLAGS) $(CLIBS) -o image_gen build/*.o 28 29 %.o: %.c 30 $(COMPILE) $(CFLAGS) -c $< -o $@ 31 32 build: 33 @mkdir -p $@ 34 35 clean: 36 rm -rf build *.o 37 38 test: image_gen 39 @./image_gen 40 41 out: image_gen 42 @./image_gen > out.ppm