PROJECT = rasterize
-IUSE = BACKFACE_CULLING BLENDING DEPTH_TEST EXTRA_INLINE CALC_NORMALS LIGHTING=3 SMOOTH_COLOR
-
-VIEWER = feh
+IUSE = BACKFACE_CULLING BLENDING DEPTH_TEST EXTRA_INLINE NDEBUG \
+ CALC_NORMALS LIGHTING=3 SMOOTH_COLOR TEXTURING OPENGL
CC = gcc
+EXEEXT =
CFLAGS = -std=c99 -O2 -g -pg
CPPFLAGS= -MMD $(IUSE:%=-D%)
-LDLIBS = -lm
+LDLIBS = -lm -lglut -lGL
SRCS = main.c array.c common.c list.c model.c raster.c rbtree.c scene.c
-OBJS = $(SRCS:%.c=%.o)
-DEPS = $(OBJS:%.o=%.d)
+OBJS = $(SRCS:%.c=%.o)
+DEPS = $(OBJS:%.o=%.d)
+PROG = $(PROJECT)$(EXEEXT)
-all: $(PROJECT)
+all: $(PROG)
-$(PROJECT): $(OBJS)
+$(PROG): $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
clean:
- rm -f $(PROJECT) $(OBJS) $(DEPS)
+ rm -f $(PROG) $(OBJS) $(DEPS)
distclean: clean
rm -f tags gmon.out
-wipeout: distclean
- rm -rf *.ppm *.bmp *.avi frames .*.raw .*.obj
+realclean: distclean
+ rm -rf frames .*.raw .*.obj $(PROJECT).zip
dist:
git archive HEAD --prefix=$(PROJECT)/ --output=$(PROJECT).zip
-run: $(PROJECT)
- ./$< && $(VIEWER) scene.ppm
+run: $(PROG)
+ ./$<
-debug: $(PROJECT)
+debug: $(PROG)
gdb ./$<
-include $(DEPS)