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