PROJECT = raytrace IUSE = EXTRA_INLINE SHADOWS TEXTURING QUIRKS VIEWER = feh CXX = g++ EXEEXT = CXXFLAGS= -O2 -g -pg CPPFLAGS= -MMD $(IUSE:%=-D%) LDLIBS = -lm SRCS = main.cc common.cc list.cc raster.cc scene.cc OBJS = $(SRCS:%.cc=%.o) DEPS = $(OBJS:%.o=%.d) PROG = $(PROJECT)$(EXEEXT) all: $(PROG) $(PROG): $(OBJS) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) clean: rm -f $(PROG) $(OBJS) $(DEPS) distclean: clean rm -f tags gmon.out realclean: distclean rm -rf frames $(PROJECT).zip dist: git archive HEAD --prefix=$(PROJECT)/ --output=$(PROJECT).zip run: $(PROG) ./$< && $(VIEWER) scene.ppm debug: $(PROG) gdb ./$< -include $(DEPS) $(OBJS): Makefile .PHONY: all clean distclean dist run debug