Update Makefile
This commit is contained in:
parent
411b2827a8
commit
d916ac9b5d
1 changed files with 13 additions and 4 deletions
|
@ -151,6 +151,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
ifeq ($(PLATFORM_OS),LINUX)
|
ifeq ($(PLATFORM_OS),LINUX)
|
||||||
MAKE = make
|
MAKE = make
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(PLATFORM_OS),OSX)
|
||||||
|
MAKE = make
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Define compiler flags:
|
# Define compiler flags:
|
||||||
|
@ -279,17 +282,22 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.bc
|
LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.bc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Define a recursive wildcard function
|
||||||
|
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
|
||||||
|
|
||||||
# Define all source files required
|
# Define all source files required
|
||||||
PROJECT_SOURCE_FILES ?= main.c
|
SRC_DIR = src
|
||||||
|
OBJ_DIR = obj
|
||||||
|
|
||||||
# Define all object files from source files
|
# 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
|
# For Android platform we call a custom Makefile.Android
|
||||||
ifeq ($(PLATFORM),PLATFORM_ANDROID)
|
ifeq ($(PLATFORM),PLATFORM_ANDROID)
|
||||||
MAKEFILE_PARAMS = -f Makefile.Android
|
MAKEFILE_PARAMS = -f Makefile.Android
|
||||||
export PROJECT_NAME
|
export PROJECT_NAME
|
||||||
export PROJECT_SOURCE_FILES
|
export SRC_DIR
|
||||||
else
|
else
|
||||||
MAKEFILE_PARAMS = $(PROJECT_NAME)
|
MAKEFILE_PARAMS = $(PROJECT_NAME)
|
||||||
endif
|
endif
|
||||||
|
@ -305,7 +313,8 @@ $(PROJECT_NAME): $(OBJS)
|
||||||
|
|
||||||
# Compile source files
|
# Compile source files
|
||||||
# NOTE: This pattern will compile every module defined on $(OBJS)
|
# 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)
|
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM)
|
||||||
|
|
||||||
# Clean everything
|
# Clean everything
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue