From df67e799ddab275006bc264b9672d83d2e7ed5a4 Mon Sep 17 00:00:00 2001 From: Ray San Date: Fri, 20 Oct 2017 17:14:58 +0200 Subject: Updated release versions for raylib 1.8 --- src/Makefile | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'src/Makefile') diff --git a/src/Makefile b/src/Makefile index 3a903cb6..1da4557d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -46,7 +46,7 @@ RAYLIB_PATH ?= .. # Library type used for raylib and OpenAL Soft: STATIC (.a) or SHARED (.so/.dll) # NOTE: OpenAL Soft library should be provided in the selected form -RAYLIB_LIBTYPE ?= STATIC +RAYLIB_LIBTYPE ?= SHARED OPENAL_LIBTYPE ?= STATIC # On PLATFORM_WEB force OpenAL Soft shared library @@ -85,14 +85,25 @@ endif ifeq ($(PLATFORM),PLATFORM_WEB) # Emscripten required variables EMSDK_PATH = C:/emsdk - EMSCRIPTEN_VERSION = 1.37.9 - CLANG_VERSION=e1.37.9_64bit + EMSCRIPTEN_VERSION = 1.37.21 + CLANG_VERSION=e1.37.21_64bit PYTHON_VERSION=2.7.5.3_64bit NODE_VERSION=4.1.1_64bit export PATH=$(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH) EMSCRIPTEN=$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION) endif +ifeq ($(PLATFORM),PLATFORM_ANDROID) + # Android required path variables + ANDROID_NDK = C:/android-ndk + ANDROID_TOOLCHAIN = C:/android_toolchain_arm_api16 + + # Android architecture: ARM or ARM64 + ANDROID_ARCH ?= ARM +endif + +RAYLIB_RELEASE_PATH ?= $(RAYLIB_PATH)/release/libs + # Define output directory for compiled library ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) @@ -120,15 +131,6 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID) endif endif -ifeq ($(PLATFORM),PLATFORM_ANDROID) - # Android required path variables - ANDROID_NDK = C:/android-ndk - ANDROID_TOOLCHAIN = C:/android_toolchain_arm_api16 - - # Android architecture: ARM or ARM64 - ANDROID_ARCH ?= ARM -endif - # Define raylib graphics api depending on selected platform ifeq ($(PLATFORM),PLATFORM_DESKTOP) # By default use OpenGL 3.3 on desktop platforms @@ -304,8 +306,9 @@ else ifeq ($(RAYLIB_LIBTYPE),SHARED) # NOTE: If using OpenAL Soft as static library, all its dependencies must be also linked in the shared library ifeq ($(PLATFORM_OS),WINDOWS) - $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/raylib.dll $(OBJS) $(ALLIBS) -Lexternal/glfw3/lib/win32 -Lexternal/openal_soft/lib/win32 -lglfw3 -lgdi32 -Wl,--out-implib,$(RAYLIB_RELEASE_PATH)/libraylibdll.a + $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/raylib.dll $(OBJS) -L$(RAYLIB_RELEASE_PATH) -lglfw3 -lgdi32 -lopenal32 -lwinmm -Wl,--out-implib,$(RAYLIB_RELEASE_PATH)/libraylibdll.a @echo "raylib dynamic library (raylib.dll) and import library (libraylibdll.a) generated!" + @echo "expected OpenAL Soft static library linking" endif ifeq ($(PLATFORM_OS),LINUX) # Compile raylib to shared library version for GNU/Linux. @@ -324,6 +327,7 @@ else endif else # Compile raylib static library. + @echo raylib library release path is $(RAYLIB_RELEASE_PATH) $(AR) rcs $(RAYLIB_RELEASE_PATH)/libraylib.a $(OBJS) @echo "raylib static library generated (libraylib.a)!" ifeq ($(OPENAL_LIBTYPE),STATIC) -- cgit v1.2.3 From ad31730b6abdb07cb2450c4e3795ba921709da19 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 22 Oct 2017 20:00:38 +0200 Subject: Added cross-compiler RPI libs --- release/libs/rpi/ADDLIBS | 0 release/libs/rpi/libraylib.a | Bin 0 -> 451046 bytes src/Makefile | 36 ++++++++++++++++++++++++------------ 3 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 release/libs/rpi/ADDLIBS create mode 100644 release/libs/rpi/libraylib.a (limited to 'src/Makefile') diff --git a/release/libs/rpi/ADDLIBS b/release/libs/rpi/ADDLIBS deleted file mode 100644 index e69de29b..00000000 diff --git a/release/libs/rpi/libraylib.a b/release/libs/rpi/libraylib.a new file mode 100644 index 00000000..8fe4e244 Binary files /dev/null and b/release/libs/rpi/libraylib.a differ diff --git a/src/Makefile b/src/Makefile index 1da4557d..13be7844 100644 --- a/src/Makefile +++ b/src/Makefile @@ -46,7 +46,7 @@ RAYLIB_PATH ?= .. # Library type used for raylib and OpenAL Soft: STATIC (.a) or SHARED (.so/.dll) # NOTE: OpenAL Soft library should be provided in the selected form -RAYLIB_LIBTYPE ?= SHARED +RAYLIB_LIBTYPE ?= STATIC OPENAL_LIBTYPE ?= STATIC # On PLATFORM_WEB force OpenAL Soft shared library @@ -54,6 +54,13 @@ ifeq ($(PLATFORM),PLATFORM_WEB) OPENAL_LIBTYPE = SHARED endif +# Use cross-compiler for PLATFORM_RPI +ifeq ($(PLATFORM),PLATFORM_RPI) + RPI_CROSS_COMPILE ?= YES + RPI_TOOLCHAIN ?= C:/SysGCC/Raspberry + RPI_TOOLCHAIN_SYSROOT ?= $(RPI_TOOLCHAIN)/arm-linux-gnueabihf/sysroot +endif + # Determine if the file has root access (only for installing raylib) # "whoami" prints the name of the user that calls him (so, if it is the root # user, "whoami" prints "root"). @@ -77,11 +84,6 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif -ifeq ($(PLATFORM),PLATFORM_RPI) - # RPI cross-compiler - RPI_CROSS_COMPILE ?= NO -endif - ifeq ($(PLATFORM),PLATFORM_WEB) # Emscripten required variables EMSDK_PATH = C:/emsdk @@ -166,8 +168,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif ifeq ($(PLATFORM),PLATFORM_RPI) ifeq ($(RPI_CROSS_COMPILE),YES) - # RPI cross-compiler - CC = armv6j-hardfloat-linux-gnueabi-gcc + # Define RPI cross-compiler + #CC = armv6j-hardfloat-linux-gnueabi-gcc + CC = $(RPI_TOOLCHAIN)/bin/arm-linux-gnueabihf-gcc endif endif ifeq ($(PLATFORM),PLATFORM_WEB) @@ -188,6 +191,14 @@ endif # Default archiver program to pack libraries AR = ar +ifeq ($(PLATFORM),PLATFORM_RPI) + ifeq ($(RPI_CROSS_COMPILE),YES) + # Define RPI cross-archiver + #CC = armv6j-hardfloat-linux-gnueabi-gcc + AR = $(RPI_TOOLCHAIN)/bin/arm-linux-gnueabihf-ar + endif +endif + # Android archiver (also depends on desired architecture) ifeq ($(PLATFORM),PLATFORM_ANDROID) ifeq ($(ANDROID_ARCH),ARM) @@ -251,9 +262,10 @@ INCLUDE_PATHS = -I. -Iexternal -Iexternal/include # Define additional directories containing required header files ifeq ($(PLATFORM),PLATFORM_RPI) # RPI requried libraries - INCLUDE_PATHS += -I/opt/vc/include - INCLUDE_PATHS += -I/opt/vc/include/interface/vmcs_host/linux - INCLUDE_PATHS += -I/opt/vc/include/interface/vcos/pthreads + INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include + INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include/interface/vmcs_host/linux + INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include/interface/vcos/pthreads + INCLUDE_PATHS += -I$(RPI_TOOLCHAIN_SYSROOT)/opt/vc/include/interface/vcos/pthreads endif ifeq ($(PLATFORM),PLATFORM_ANDROID) # Android required libraries @@ -326,7 +338,7 @@ else @echo "raylib shared library generated (libraylib.so)!" endif else - # Compile raylib static library. + # Compile raylib static library @echo raylib library release path is $(RAYLIB_RELEASE_PATH) $(AR) rcs $(RAYLIB_RELEASE_PATH)/libraylib.a $(OBJS) @echo "raylib static library generated (libraylib.a)!" -- cgit v1.2.3