summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile23
1 files changed, 12 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index eb6a8e6..6a009dc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,51 +1,52 @@
 UNAME_S = $(shell uname -s)
-
 CC = clang
 CFLAGS = -Wall -Wextra -std=c11
 CFLAGS_DEBUG = $(CFLAGS) -g -O0
 CFLAGS_RELEASE = $(CFLAGS) -O2
 TARGET = ogl
 SRC_DIR = src
+VENDOR_DIR = vendor
 OUT_DIR = out
-LIBS = -lglfw -lGLEW 
+LIBS = -lglfw -lGLEW -lcglm
 DEBUG_DIR = $(OUT_DIR)/debug
 RELEASE_DIR = $(OUT_DIR)/release
 INSTALL_DIR = /usr/local/bin
 
 # Find all .c files in the src directory
 SRCS = $(wildcard $(SRC_DIR)/*.c)
+
 # Generate lists of object files for debug and release builds
 OBJS_DEBUG = $(patsubst $(SRC_DIR)/%.c,$(DEBUG_DIR)/%.o,$(SRCS))
 OBJS_RELEASE = $(patsubst $(SRC_DIR)/%.c,$(RELEASE_DIR)/%.o,$(SRCS))
 
+# Include paths for vendor libraries
+INCLUDES = $(addprefix -I,$(VENDOR_DIR) $(wildcard $(VENDOR_DIR)/*/))
+
 ifeq ($(UNAME_S), Darwin)
-	LIBS += -framework OpenGL 
+    LIBS += -framework OpenGL 
 endif
-
-
 ifeq ($(UNAME_S), Linux)
-	LDFLAGS += -lGL
+    LDFLAGS += -lGL
 endif
 
 all: debug release
 
 debug: $(DEBUG_DIR)/$(TARGET)
-
 release: $(RELEASE_DIR)/$(TARGET)
 
 # Debug build
 $(DEBUG_DIR)/$(TARGET): $(OBJS_DEBUG) | $(DEBUG_DIR)
-	$(CC) $(CFLAGS_DEBUG) $(LIBS) -o $@ $(OBJS_DEBUG)
+	$(CC) $(CFLAGS_DEBUG) $(INCLUDES) $(LIBS) -o $@ $(OBJS_DEBUG)
 
 $(DEBUG_DIR)/%.o: $(SRC_DIR)/%.c | $(DEBUG_DIR)
-	$(CC) $(CFLAGS_DEBUG) $(LIBS) -c $< -o $@
+	$(CC) $(CFLAGS_DEBUG) $(INCLUDES) -c $< -o $@
 
 # Release build
 $(RELEASE_DIR)/$(TARGET): $(OBJS_RELEASE) | $(RELEASE_DIR)
-	$(CC) $(CFLAGS_RELEASE) $(LIBS) -o $@ $(OBJS_RELEASE)
+	$(CC) $(CFLAGS_RELEASE) $(INCLUDES) $(LIBS) -o $@ $(OBJS_RELEASE)
 
 $(RELEASE_DIR)/%.o: $(SRC_DIR)/%.c | $(RELEASE_DIR)
-	$(CC) $(CFLAGS_RELEASE) $(LIBS) -c $< -o $@
+	$(CC) $(CFLAGS_RELEASE) $(INCLUDES) -c $< -o $@
 
 $(DEBUG_DIR) $(RELEASE_DIR):
 	mkdir -p $@