diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..96789b8 --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +CC=gcc + +# Enable debugging +CFLAGS=-ggdb + +# We need math +LDFLAGS=-lm + +# Output and build options +BINARY=raytrace +BUILD_DIR=build + +# Input files +c_files=$(wildcard *.c) +OBJ=$(patsubst %.c, $(BUILD_DIR)/%.o, $(c_files)) + +# Build rules +# $@ is the %.o file and $^ is the %.c file +$(BUILD_DIR)/%.o: %.c + mkdir -p $(dir $@) + $(CC) -c -o $@ $^ $(CFLAGS) + +# $@ becomes left part thus linked +$(BINARY): $(OBJ) + $(CC) -o $@ $^ $(LDFLAGS) + +.PHONY: run show clean + +# This will also generate the image +run: $(BINARY) + ./$(BINARY) | convert - test.png + +show: run + xdg-open test.png + +clean: + rm -f $(OBJ) $(BINARY) + rmdir $(BUILD_DIR) |