ray-tracer

default description
git clone _git@git.tontus.eu/ray-tracer.git
Log | Files | Refs

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