aboutsummaryrefslogtreecommitdiff
path: root/projects/VSCode/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'projects/VSCode/Makefile')
-rw-r--r--projects/VSCode/Makefile17
1 files changed, 13 insertions, 4 deletions
diff --git a/projects/VSCode/Makefile b/projects/VSCode/Makefile
index 9794c1ab..83e26053 100644
--- a/projects/VSCode/Makefile
+++ b/projects/VSCode/Makefile
@@ -151,6 +151,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),LINUX)
MAKE = make
endif
+ ifeq ($(PLATFORM_OS),OSX)
+ MAKE = make
+ endif
endif
# Define compiler flags:
@@ -279,17 +282,22 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.bc
endif
+# Define a recursive wildcard function
+rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+
# Define all source files required
-PROJECT_SOURCE_FILES ?= main.c
+SRC_DIR = src
+OBJ_DIR = obj
# Define all object files from source files
-OBJS = $(patsubst %.c, %.o, $(PROJECT_SOURCE_FILES))
+SRC = $(call rwildcard, *.c, *.h)
+OBJS = $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
# For Android platform we call a custom Makefile.Android
ifeq ($(PLATFORM),PLATFORM_ANDROID)
MAKEFILE_PARAMS = -f Makefile.Android
export PROJECT_NAME
- export PROJECT_SOURCE_FILES
+ export SRC_DIR
else
MAKEFILE_PARAMS = $(PROJECT_NAME)
endif
@@ -305,7 +313,8 @@ $(PROJECT_NAME): $(OBJS)
# Compile source files
# NOTE: This pattern will compile every module defined on $(OBJS)
-%.o: %.c
+#%.o: %.c
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM)
# Clean everything