PROG = pyramid OBJS = $(PROG).o math3d.o CC = gcc CFLAGS = -Wall -std=c99 DBGFLAGS = -g -O0 LDFLAGS = -lm ifdef DEBUG CFLAGS += $(DBGFLAGS) else CFLAGS += -O2 -march=native -mtune=native endif ifdef MINGW LDFLAGS += -lglew32 -lopengl32 -lglu32 -lfreeglut else LDFLAGS += -lGLEW -lGL -lGLU -lglut endif $(PROG): $(OBJS) $(CC) -o $@ $(OBJS) $(LDFLAGS) $(PROG).o: %.o: %.c math3d.h $(CC) -c $(CFLAGS) $< math3d.o: %.o: %.c %.h $(CC) -c $(CFLAGS) $< .PHONY: clean clean: rm -f *.o ./$(PROG) ./$(PROG).exe