diff options
| author | Ray <[email protected]> | 2019-03-18 18:46:39 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2019-03-18 18:46:39 +0100 |
| commit | aa00d77110397ec6bda28815fd5a19a19e53988b (patch) | |
| tree | 615a7771c7348483e531bb0c277dbfd3bee3a0a8 /src/Makefile | |
| parent | 0bbf857b00ab111749aa7ae22d942108ef06455f (diff) | |
| download | raylib-aa00d77110397ec6bda28815fd5a19a19e53988b.tar.gz raylib-aa00d77110397ec6bda28815fd5a19a19e53988b.zip | |
Support additional modules building -WIP-
The idea is supporting additional raygui and physac modules building with raylib but those modules are distributed as header-only libraries and it makes a bit dificult to build them inside raylib...
Diffstat (limited to 'src/Makefile')
| -rw-r--r-- | src/Makefile | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/src/Makefile b/src/Makefile index c579f9a7..e2fe6c5d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -63,6 +63,11 @@ RAYLIB_BUILD_MODE ?= RELEASE # NOTE: Some programs like tools could not require those modules RAYLIB_MODULE_AUDIO ?= TRUE RAYLIB_MODULE_MODELS ?= TRUE +RAYLIB_MODULE_RAYGUI ?= FALSE +RAYLIB_MODULE_PHYSAC ?= FALSE + +RAYLIB_MODULE_RAYGUI_PATH ?= . +RAYLIB_MODULE_PHYSAC_PATH ?= . # Use external GLFW library instead of rglfw module # TODO: Review usage of examples on Linux. @@ -180,6 +185,9 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID) endif endif +# Define raylib source code path +RAYLIB_SRC_PATH ?= $(RAYLIB_PATH)/src + # Define output directory for compiled library, defaults to src directory # NOTE: If externally provided, make sure directory exists RAYLIB_RELEASE_PATH ?= $(RAYLIB_PATH)/src @@ -383,6 +391,12 @@ endif ifeq ($(RAYLIB_MODULE_AUDIO),TRUE) OBJS += raudio.o endif +ifeq ($(RAYLIB_MODULE_RAYGUI),TRUE) + OBJS += raygui.o +endif +ifeq ($(RAYLIB_MODULE_PHYSAC),TRUE) + OBJS += physac.o +endif ifeq ($(PLATFORM),PLATFORM_ANDROID) OBJS += external/android/native_app_glue/android_native_app_glue.o @@ -496,6 +510,10 @@ textures.o : textures.c raylib.h rlgl.h utils.h text.o : text.c raylib.h utils.h $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) -D$(GRAPHICS) +# Compile utils module +utils.o : utils.c utils.h + $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) + # Compile models module models.o : models.c raylib.h rlgl.h raymath.h $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) -D$(GRAPHICS) @@ -503,10 +521,20 @@ models.o : models.c raylib.h rlgl.h raymath.h # Compile audio module raudio.o : raudio.c raylib.h $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) - -# Compile utils module -utils.o : utils.c utils.h - $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) + +# Compile raygui module +# NOTE: raygui header should be distributed with raylib.h +raygui.o : raygui.c raygui.h + @echo #define RAYGUI_IMPLEMENTATION > raygui.c + @echo #include "$(RAYLIB_MODULE_RAYGUI_PATH)/raygui.h" > raygui.c + $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) -DRAYGUI_IMPLEMENTATION + +# Compile physac module +# NOTE: physac header should be distributed with raylib.h +physac.o : physac.c physac.h + @echo #define PHYSAC_IMPLEMENTATION > physac.c + @echo #include "$(RAYLIB_MODULE_PHYSAC_PATH)/physac.h" > physac.c + $(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS) -D$(PLATFORM) -DRAYGUI_IMPLEMENTATION # Install generated and needed files to desired directories. |
