ccsrc = $(wildcard src/*.cc) \ $(wildcard src/goatkit/*.cc) csrc = $(wildcard src/*.c) obj = $(ccsrc:.cc=.o) $(csrc:.c=.o) dep = $(obj:.o=.d) bin = game warn = -pedantic -Wall dbg = -g opt = -O0 inc = CFLAGS = $(warn) $(dbg) $(opt) $(inc) CXXFLAGS = $(warn) $(dbg) $(opt) $(inc) LDFLAGS = $(libgl) $(syslibs) sys := $(shell uname -s | sed 's/MINGW.*/mingw/') ifeq ($(sys), mingw) libgl = -lopengl32 -lglu32 -lfreeglut -lglew32 else libgl = -lGL -lGLU -lglut -lGLEW syslibs = -ldl endif $(bin): $(obj) $(CXX) -o $@ $(obj) $(LDFLAGS) -include $(dep) %.d: %.c @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ %.d: %.cc @$(CPP) $(CXXFLAGS) $< -MM -MT $(@:.d=.o) >$@ .PHONY: clean clean: rm -f $(obj) $(bin) .PHONY: cleandep cleandep: rm -f $(dep)