src = $(wildcard src/*.c) obj = $(src:.c=.o) dep = $(obj:.o=.d) bin = censuslogo sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/') CFLAGS = -pedantic -Wall -g -DNOLOAD LDFLAGS = $(LDFLAGS_$(sys)) -lm LDFLAGS_Linux = -lGL -lGLU -lglut LDFLAGS_mingw = -lmingw32 -mconsole -lfreeglut_static -lopengl32 -lglu32 -lgdi32 -lwinmm ifeq ($(sys), mingw) obj = $(src:.c=.w32.o) bin = censuslogo.exe CFLAGS += -DFREEGLUT_STATIC endif $(bin): $(obj) $(CC) -o $@ $(obj) $(LDFLAGS) -include $(dep) %.d: %.c @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ .PHONY: clean clean: rm -f $(obj) $(bin) .PHONY: cleandep cleandep: rm -f $(dep) # --- cross-compile rules for win32 --- %.w32.o: %.c $(CC) -o $@ $(CFLAGS) -c $< .PHONY: cross cross: $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw .PHONY: cross-clean cross-clean: $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean