42
42
.PHONY : all clean install uninstall
43
43
44
44
# Define required raylib variables
45
+ VERSION = 1.9.2
46
+ API_VERSION = 1
45
47
PLATFORM ?= PLATFORM_DESKTOP
46
48
RAYLIB_PATH = ..
47
49
@@ -172,6 +174,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
172
174
ifeq ($(PLATFORM_OS),OSX)
173
175
# OSX default compiler
174
176
CC = clang
177
+ GLFW_CFLAGS = -x objective-c
175
178
endif
176
179
ifeq ($(PLATFORM_OS),FREEBSD)
177
180
# FreeBSD default compiler
@@ -291,7 +294,7 @@ endif
291
294
292
295
# Define linker options
293
296
ifeq ($(PLATFORM ) ,PLATFORM_ANDROID)
294
- LDFLAGS = -Wl,-soname,libraylib.so -Wl,--exclude-libs,libatomic.a
297
+ LDFLAGS = -Wl,-soname,libraylib.$( API_VERSION ) . so -Wl,--exclude-libs,libatomic.a
295
298
LDFLAGS += -Wl,--build-id -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings
296
299
# Force linking of library module to define symbol
297
300
LDFLAGS += -u ANativeActivity_onCreate
@@ -353,22 +356,30 @@ else
353
356
ifeq ($(PLATFORM_OS),LINUX)
354
357
# Compile raylib to shared library version for GNU/Linux.
355
358
# WARNING: you should type "make clean" before doing this target
356
- $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.so $(OBJS) -lGL -lm -lpthread -ldl -lrt
357
- @echo "raylib shared library generated (libraylib.so)!"
359
+ $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).so $(OBJS) -Wl,-soname,libraylib.$(API_VERSION).so -lGL -lm -lpthread -ldl -lrt
360
+ @echo "raylib shared library generated (libraylib.$(VERSION).so)!"
361
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.$(API_VERSION).so
362
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.so
358
363
endif
359
364
ifeq ($(PLATFORM_OS),OSX)
360
- $(CC) -dynamiclib -o $(RAYLIB_RELEASE_PATH)/libraylib.dylib $(OBJS) -L/usr/local/Cellar/glfw/3.2.1/lib -framework OpenGL -framework OpenAL -framework Cocoa
361
- install_name_tool -id "libraylib.dylib" $(RAYLIB_RELEASE_PATH)/libraylib.dylib
362
- @echo "raylib shared library generated (libraylib.dylib)!"
365
+ $(CC) -dynamiclib -o $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).dylib $(OBJS) -compatibility_version $(API_VERSION) -current_version $(VERSION) -framework OpenGL -framework OpenAL -framework IOKit -framework CoreVideo -framework Cocoa
366
+ install_name_tool -id "libraylib.$(VERSION).dylib" $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).dylib
367
+ @echo "raylib shared library generated (libraylib.$(VERSION).dylib)!"
368
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).dylib libraylib.$(API_VERSION).dylib
369
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).dylib libraylib.dylib
363
370
endif
364
371
ifeq ($(PLATFORM_OS),FREEBSD)
365
372
# WARNING: you should type "gmake clean" before doing this target
366
- $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.so $(OBJS) -lGL -lpthread
367
- @echo "raylib shared library generated (libraylib.so)!"
373
+ $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).so $(OBJS) -Wl,-soname,libraylib.$(API_VERSION).so -lGL -lpthread
374
+ @echo "raylib shared library generated (libraylib.$(VERSION).so)!"
375
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.$(API_VERSION).so
376
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.so
368
377
endif
369
378
ifeq ($(PLATFORM),PLATFORM_ANDROID)
370
- $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.so $(OBJS) $(LDFLAGS) $(LDLIBS)
371
- @echo "raylib shared library generated (libraylib.so)!"
379
+ $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).so $(OBJS) $(LDFLAGS) $(LDLIBS)
380
+ @echo "raylib shared library generated (libraylib.$(VERSION).so)!"
381
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.$(API_VERSION).so
382
+ cd $(RAYLIB_RELEASE_PATH) && ln -s libraylib.$(VERSION).so libraylib.so
372
383
endif
373
384
else
374
385
# Compile raylib static library
@@ -386,7 +397,7 @@ core.o : core.c raylib.h rlgl.h utils.h raymath.h gestures.h
386
397
387
398
# Compile rglfw module
388
399
rglfw.o : rglfw.c
389
- $(CC ) -c $< $(CFLAGS ) $(INCLUDE_PATHS ) -D$(PLATFORM ) -D$(GRAPHICS )
400
+ $(CC ) $( GLFW_CFLAGS ) -c $< $(CFLAGS ) $(INCLUDE_PATHS ) -D$(PLATFORM ) -D$(GRAPHICS )
390
401
391
402
# Compile rlgl module
392
403
rlgl.o : rlgl.c rlgl.h raymath.h
@@ -434,6 +445,8 @@ ifeq ($(ROOT),root)
434
445
# /usr/local/include/) are for libraries that are installed
435
446
# manually (without a package manager).
436
447
ifeq ($(RAYLIB_LIBTYPE),SHARED)
448
+ cp --update $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).so /usr/local/lib/libraylib.$(VERSION).so
449
+ cp --update $(RAYLIB_RELEASE_PATH)/libraylib.$(API_VERSION).so /usr/local/lib/libraylib.$(API_VERSION).so
437
450
cp --update $(RAYLIB_RELEASE_PATH)/libraylib.so /usr/local/lib/libraylib.so
438
451
else
439
452
cp --update raylib.h /usr/local/include/raylib.h
@@ -455,6 +468,8 @@ ifeq ($(ROOT),root)
455
468
rm --force /usr/local/include/raylib.h
456
469
ifeq ($(RAYLIB_LIBTYPE),SHARED)
457
470
rm --force /usr/local/lib/libraylib.so
471
+ rm --force /usr/local/lib/libraylib.$(API_VERSION).so
472
+ rm --force /usr/local/lib/libraylib.$(VERSION).so
458
473
else
459
474
rm --force /usr/local/lib/libraylib.a
460
475
endif
@@ -471,7 +486,7 @@ clean:
471
486
ifeq ($(PLATFORM_OS ) ,WINDOWS)
472
487
del *.o $(RAYLIB_RELEASE_PATH)/libraylib.a $(RAYLIB_RELEASE_PATH)/libraylib.bc $(RAYLIB_RELEASE_PATH)/libraylib.so external/stb_vorbis.o
473
488
else
474
- rm -f *.o $(RAYLIB_RELEASE_PATH)/libraylib.a $(RAYLIB_RELEASE_PATH)/libraylib.bc $(RAYLIB_RELEASE_PATH)/libraylib.so external/stb_vorbis.o
489
+ rm -f *.o $(RAYLIB_RELEASE_PATH)/libraylib.a $(RAYLIB_RELEASE_PATH)/libraylib.bc $(RAYLIB_RELEASE_PATH)/libraylib.so $(RAYLIB_RELEASE_PATH)/libraylib.$(API_VERSION).so $(RAYLIB_RELEASE_PATH)/libraylib.$(VERSION).so external/stb_vorbis.o
475
490
endif
476
491
ifeq ($(PLATFORM ) ,PLATFORM_ANDROID)
477
492
rm -rf $(ANDROID_TOOLCHAIN)
0 commit comments