-src = $(wildcard src/*.c) $(wildcard src/pc/*.c) libs/glew/glew.c
+src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/pc/*.c) libs/glew/glew.c
obj = $(src:.c=.o)
dep = $(src:.c=.d)
bin = demo
warn = -pedantic -Wall
dbg = -g
-#opt = -O3 -ffast-math -fno-strict-aliasing
+#opt = -O3 -ffast-math -fno-strict-aliasing -DNDEBUG
def = -DMINIGLUT_USE_LIBC -DGLEW_STATIC
-incdir = -Isrc -Ilibs/imago/src -Ilibs/glew
-libdir = -Llibs/unix
+incdir = -Isrc -Ilibs -Ilibs/imago/src -Ilibs/treestore -Ilibs/glew
+libs_path = libs/unix
+libdir = -L$(libs_path)
+
+libs = $(libs_path)/libimago.a $(libs_path)/libtreestore.a $(libs_path)/libanim.a \
+ $(libs_path)/libpsys.a
CFLAGS = $(warn) $(dbg) $(opt) $(def) $(incdir) -fcommon -MMD
-LDFLAGS = $(libdir) $(libsys) $(libgl) -lm -limago
+LDFLAGS = $(libdir) $(libsys) $(libgl) -limago -lpsys -lanim -ltreestore $(libc)
sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
ifeq ($(sys), mingw)
bin = demo.exe
libgl = -lopengl32
libsys = -lmingw32 -lgdi32 -lwinmm -mconsole
- libdir = -Llibs/w32
+ libs_path = libs/w32
+ libc = -lm
else
libgl = -lGL -lX11 -lXext
+ libc = -lm -ldl
endif
-$(bin): $(obj)
+$(bin): $(obj) Makefile $(libs)
$(CC) -o $@ $(obj) $(LDFLAGS)
-include $(dep)
%.w32.o: %.c
$(CC) -o $@ $(CFLAGS) -c $<
+$(libs_path)/%.a:
+ $(MAKE) -C libs
+
.PHONY: clean
clean:
rm -f $(obj) $(bin)
android-libs:
$(MAKE) -f Makefile.android libs
+.PHONY: install
+install:
+ $(MAKE) -f Makefile.android install
+
.PHONY: run
run:
$(MAKE) -f Makefile.android install run