|
|
@ -21,7 +21,7 @@ |
|
|
|
#
|
|
|
|
#
|
|
|
|
#**************************************************************************************************
|
|
|
|
#**************************************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: all clean |
|
|
|
.PHONY: all clean run |
|
|
|
|
|
|
|
|
|
|
|
# Define required environment variables
|
|
|
|
# Define required environment variables
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
@ -29,11 +29,11 @@ |
|
|
|
PLATFORM ?= PLATFORM_DESKTOP
|
|
|
|
PLATFORM ?= PLATFORM_DESKTOP
|
|
|
|
|
|
|
|
|
|
|
|
# Define project variables
|
|
|
|
# Define project variables
|
|
|
|
PROJECT_NAME ?= raylib_game
|
|
|
|
PROJECT_NAME ?= lemonade-stand
|
|
|
|
PROJECT_VERSION ?= 1.0
|
|
|
|
PROJECT_VERSION ?= 1.0
|
|
|
|
PROJECT_BUILD_PATH ?= .
|
|
|
|
PROJECT_BUILD_PATH ?= .
|
|
|
|
|
|
|
|
|
|
|
|
RAYLIB_PATH ?= ../../raylib
|
|
|
|
RAYLIB_PATH ?= ./lib/raylib
|
|
|
|
|
|
|
|
|
|
|
|
# Locations of raylib.h and libraylib.a/libraylib.so
|
|
|
|
# Locations of raylib.h and libraylib.a/libraylib.so
|
|
|
|
# NOTE: Those variables are only used for PLATFORM_OS: LINUX, BSD
|
|
|
|
# NOTE: Those variables are only used for PLATFORM_OS: LINUX, BSD
|
|
|
@ -57,6 +57,10 @@ BUILD_WEB_HEAP_SIZE ?= 134217728 |
|
|
|
BUILD_WEB_RESOURCES ?= TRUE
|
|
|
|
BUILD_WEB_RESOURCES ?= TRUE
|
|
|
|
BUILD_WEB_RESOURCES_PATH ?= resources
|
|
|
|
BUILD_WEB_RESOURCES_PATH ?= resources
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BUILD_DIR ?= ./build
|
|
|
|
|
|
|
|
SRC_DIR ?= ./src
|
|
|
|
|
|
|
|
LIB_DIR ?= ./lib
|
|
|
|
|
|
|
|
|
|
|
|
# Use cross-compiler for PLATFORM_RPI
|
|
|
|
# Use cross-compiler for PLATFORM_RPI
|
|
|
|
ifeq ($(PLATFORM),PLATFORM_RPI) |
|
|
|
ifeq ($(PLATFORM),PLATFORM_RPI) |
|
|
|
USE_RPI_CROSS_COMPILER ?= FALSE
|
|
|
|
USE_RPI_CROSS_COMPILER ?= FALSE
|
|
|
@ -230,7 +234,7 @@ endif |
|
|
|
# Define include paths for required headers: INCLUDE_PATHS
|
|
|
|
# Define include paths for required headers: INCLUDE_PATHS
|
|
|
|
# NOTE: Some external/extras libraries could be required (stb, physac, easings...)
|
|
|
|
# NOTE: Some external/extras libraries could be required (stb, physac, easings...)
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
INCLUDE_PATHS = -I. -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external -I$(RAYLIB_PATH)/src/extras
|
|
|
|
INCLUDE_PATHS = -I$(SRC_DIR) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external -I$(RAYLIB_PATH)/src/extras
|
|
|
|
|
|
|
|
|
|
|
|
# Define additional directories containing required header files
|
|
|
|
# Define additional directories containing required header files
|
|
|
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
@ -252,7 +256,7 @@ endif |
|
|
|
|
|
|
|
|
|
|
|
# Define library paths containing required libs: LDFLAGS
|
|
|
|
# Define library paths containing required libs: LDFLAGS
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
#------------------------------------------------------------------------------------------------
|
|
|
|
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
|
|
|
|
LDFLAGS = -L$(SRC) -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
|
|
|
|
|
|
|
|
|
|
|
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
|
|
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
|
|
@ -383,7 +387,9 @@ PROJECT_SOURCE_FILES ?= \ |
|
|
|
screen_ending.c
|
|
|
|
screen_ending.c
|
|
|
|
|
|
|
|
|
|
|
|
# Define all object files from source files
|
|
|
|
# Define all object files from source files
|
|
|
|
OBJS = $(patsubst %.c, %.o, $(PROJECT_SOURCE_FILES))
|
|
|
|
OBJS = $(addprefix $(BUILD_DIR)/,$(patsubst %.c, %.o, $(PROJECT_SOURCE_FILES)))
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
SOURCE_FILES = $(addprefix $(SRC_DIR)/,$(PROJECT_SOURCE_FILES))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Define processes to execute
|
|
|
|
# Define processes to execute
|
|
|
@ -394,7 +400,7 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID) |
|
|
|
export PROJECT_NAME
|
|
|
|
export PROJECT_NAME
|
|
|
|
export PROJECT_SOURCE_FILES
|
|
|
|
export PROJECT_SOURCE_FILES
|
|
|
|
else |
|
|
|
else |
|
|
|
MAKEFILE_PARAMS = $(PROJECT_NAME)
|
|
|
|
MAKEFILE_PARAMS = $(BUILD_DIR)/$(PROJECT_NAME)
|
|
|
|
endif |
|
|
|
endif |
|
|
|
|
|
|
|
|
|
|
|
# Default target entry
|
|
|
|
# Default target entry
|
|
|
@ -403,12 +409,12 @@ all: |
|
|
|
$(MAKE) $(MAKEFILE_PARAMS)
|
|
|
|
$(MAKE) $(MAKEFILE_PARAMS)
|
|
|
|
|
|
|
|
|
|
|
|
# Project target defined by PROJECT_NAME
|
|
|
|
# Project target defined by PROJECT_NAME
|
|
|
|
$(PROJECT_NAME): $(OBJS) |
|
|
|
$(BUILD_DIR)/$(PROJECT_NAME): $(OBJS) |
|
|
|
$(CC) -o $(PROJECT_NAME)$(EXT) $(OBJS) $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
|
|
|
|
$(CC) -o $@$(EXT) $(OBJS) $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
|
|
|
|
|
|
|
|
|
|
|
|
# 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 |
|
|
|
$(BUILD_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
|
|
|
@ -436,3 +442,10 @@ ifeq ($(PLATFORM),PLATFORM_DRM) |
|
|
|
endif |
|
|
|
endif |
|
|
|
@echo Cleaning done
|
|
|
|
@echo Cleaning done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
run: $(PROJECT_NAME)$(EXT) |
|
|
|
|
|
|
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
|
|
|
|
|
./$(PROJECT_NAME)
|
|
|
|
|
|
|
|
endif |
|
|
|
|
|
|
|
ifeq ($(PLATFORM),PLATFORM_WEB) |
|
|
|
|
|
|
|
npx live-server --open=$(PROJECT_NAME)$(EXT) --ignore=*.c,*.h,Makefile
|
|
|
|
|
|
|
|
endif |