warn = -pedantic -Wall
dbg = -g
+def = -DMINIGLUT_USE_LIBC
+
+inc = -Ilibs -Ilibs/assfile -Ilibs/treestor/include
+libs = -lassfile -ldrawtext -lgoat3d -limago -ltreestor
CFLAGS = $(warn) $(opt) $(dbg) $(inc) $(def) -MMD
-LDFLAGS = $(syslib) $(libgl)
+LDFLAGS = $(libdir) $(syslib) $(libgl) $(libs) -lm
sys := $(shell uname -s | sed 's/MINGW.*/mingw/')
ifeq ($(sys), mingw)
syslib = -mwindows
- libgl = -lopengl32 -lfreeglut
+ libgl = -lopengl32 -lgdi32 -lwinmm
obj = $(src:.c=.w32.o)
dep = $(src:.c=.w32.d)
bin = game.exe
+
+ libdir = -Llibs/w32
else
- libgl = -lGL -lGLU -lglut
+ libgl = -lGL -lGLU -lX11
+
+ libdir = -Llibs/unix
endif
-$(bin): $(obj)
+$(bin): $(obj) libs
$(CC) -o $@ $(obj) $(LDFLAGS)
-include $(dep)
%.w32.o: %.c
$(CC) -c $< $(CFLAGS) -o $@
+.PHONY: libs
+libs:
+ $(MAKE) -C libs
+
+.PHONY: clean-libs
+clean-libs:
+ $(MAKE) -C libs clean
+
.PHONY: clean
clean:
rm -f $(obj) $(bin)
.PHONY: cross
cross:
- $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
+ $(MAKE) CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar sys=mingw
-.PHONY: cross-clean
-cross-clean:
+.PHONY: clean-cross
+clean-cross:
$(MAKE) sys=mingw clean