79 lines
3.6 KiB
Makefile
79 lines
3.6 KiB
Makefile
## Makefile for Raydium dynamic compiled apps.
|
|
EXT_H = .h
|
|
ROOT = ./
|
|
RAYDIUM_DIR = raydium/
|
|
HEADERS_DIR = raydium/headers/
|
|
COMPILE_DIR = raydium/compile/
|
|
CC = gcc
|
|
AR = ar
|
|
RANLIB = ranlib
|
|
SYSTEM_LIBS = -lGL -lGLU -lXinerama -lm -ljpeg -lopenal -lalut -lvorbis -lvorbisfile -logg -lresolv -lcrypt -lz -lcurl -lxml2 -lGLEW
|
|
OTHER_LIBS = raydium/ode/lib/libode.a raydium/php/libs/libphp5.a
|
|
INCLUDE_PATH = -Iraydium/ode/include/ -Iraydium/php/ -Iraydium/php/include -Iraydium/php/main/ -Iraydium/php/Zend -Iraydium/php/TSRM -I/usr/include/curl
|
|
LIBS_PATH = -L/usr/X11R6/lib/
|
|
CFLAGS=-Wall
|
|
COMPILE_OPTIONS=-g -D LIBRAY
|
|
LDFLAGS=
|
|
LINKING_OPTIONS=-Wl,-soname,libraydium.so.0
|
|
AR_OPTIONS=
|
|
|
|
HEADERS=raydium/headers/background.h raydium/headers/callback.h raydium/headers/camera.h raydium/headers/capture.h raydium/headers/clear.h raydium/headers/console.h raydium/headers/file.h raydium/headers/file_tri.h raydium/headers/fog.h raydium/headers/init.h raydium/headers/cli.h raydium/headers/internal.h raydium/headers/joy.h raydium/headers/key.h raydium/headers/land.h raydium/headers/light.h raydium/headers/log.h raydium/headers/main.h raydium/headers/mouse.h raydium/headers/network.h raydium/headers/normal.h raydium/headers/object.h raydium/headers/ode.h raydium/headers/osd.h raydium/headers/parser.h raydium/headers/particle2.h raydium/headers/php.h raydium/headers/profile.h raydium/headers/random.h raydium/headers/rayphp.h raydium/headers/register.h raydium/headers/render.h raydium/headers/signal.h raydium/headers/sky.h raydium/headers/sound.h raydium/headers/texture.h raydium/headers/timecall.h raydium/headers/trigo.h raydium/headers/vertex.h raydium/headers/window.h raydium/headers/reg_api.h raydium/headers/gui.h raydium/headers/live.h raydium/headers/video.h raydium/headers/shadow.h raydium/headers/myglut.h raydium/headers/web.h raydium/headers/hdr.h raydium/headers/shader.h raydium/headers/atexit.h raydium/headers/path.h
|
|
|
|
OBJECTS = $(HEADERS:raydium/headers/%.h=raydium/compile/%.o)
|
|
|
|
all: libraydium.a libraydium.so
|
|
@echo "Files created: $+"
|
|
|
|
help:
|
|
@echo "Help compiling raydium"
|
|
@echo " make help this"
|
|
@echo " make all create libraries"
|
|
@echo " make doc generate raydium documentation in file doc.wiki"
|
|
@echo " make clean remove compilation objects and libraries"
|
|
|
|
doc: headers
|
|
cd raydium/headers && ./raydoc.php > ../../doc.wiki && cd -
|
|
|
|
################################################################################
|
|
# Create libraries
|
|
################################################################################
|
|
|
|
libraydium.so.0.0: $(OBJECTS)
|
|
@$(CC) $(LDFLAGS) $(LINKING_OPTIONS) -o $@ -shared $+ $(LIBS_PATH) $(OTHER_LIBS) $(SYSTEM_LIBS)
|
|
@echo "File created: $@"
|
|
|
|
libraydium.so.0: libraydium.so.0.0
|
|
@ln -sf $< $@ || true
|
|
|
|
libraydium.so: libraydium.so.0
|
|
@ln -sf $< $@ || true
|
|
|
|
libraydium.a.0.0: $(OBJECTS)
|
|
@$(AR) $(AR_OPTIONS) -crv $@ $+
|
|
@$(RANLIB) $@ || true
|
|
@echo "File created: $@"
|
|
|
|
libraydium.a.0: libraydium.a.0.0
|
|
@ln -sf $< $@ || true
|
|
|
|
libraydium.a: libraydium.a.0
|
|
@ln -sf $< $@ || true
|
|
|
|
################################################################################
|
|
# Cleaning rule
|
|
################################################################################
|
|
|
|
clean:
|
|
rm -r $(COMPILE_DIR) || true
|
|
rm libraydium.so* || true
|
|
rm libraydium.a* || true
|
|
|
|
################################################################################
|
|
# All files
|
|
################################################################################
|
|
|
|
raydium/compile/%.o: raydium/%.c $(HEADERS)
|
|
@mkdir -p $(COMPILE_DIR)
|
|
@echo "Creating: $@"
|
|
@$(CC) $(COMPILE_OPTIONS) $(CFLAGS) -o $@ -c $< $(INCLUDE_PATH)
|