X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Frasterize;a=blobdiff_plain;f=Makefile;h=0474ec9e1319692f700c1f5af503c24f5f5c92a9;hp=b3e118f57f6faadb104bbb4f92ee613f6944f09b;hb=c875478cdd823c7df8fdc859941bd9e5948c9315;hpb=0f2508a4f227523a6b7e54798487af19d06a6ce9 diff --git a/Makefile b/Makefile index b3e118f..0474ec9 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,29 @@ -PROJECT = project1 -SRCS = main.c common.c list.c pixmap.c scene.c tri.c +PROJECT = project2 +IUSE = CLIPPING DEPTH_TEST SMOOTH_COLOR \ + EXTRA_INLINE NDEBUG RASTER_STATS RENDER_PROGRESS RENDER_TIMER + +# BACKFACE_CULLING avoid drawing triangles that are not facing forward +# CLIPPING turn on clipping (you really always want this) +# DEPTH_TEST enable the z buffer for depth testing +# EXTRA_INLINE allow the compiler to inline even more aggressively +# LIGHTING turn the lights on (experimental) +# NDEBUG disable assertions and other nonessential checks +# FIND_NORMALS[=n] pre-compute vertex normals at loading time +# set to 1 for per-face normals, 2 for averaged normals +# RASTER_STATS print triangle count and optimization savings at the end +# RENDER_PROGRESS print progress while drawing the scene +# RENDER_TIMER add a timer to see how long the renderer takes +# SMOOTH_COLOR interpolate colors smoothly between triangle vertices VIEWER = feh CC = gcc -CFLAGS = -std=c99 -O0 -ggdb -CPPFLAGS= -MMD -DDEBUG +CFLAGS = -std=c99 -O2 -g -pg +CPPFLAGS= -MMD $(IUSE:%=-D%) LDLIBS = -lm +SRCS = main.c common.c list.c raster.c rbtree.c scene.c OBJS = $(SRCS:%.c=%.o) DEPS = $(OBJS:%.o=%.d) @@ -21,7 +36,10 @@ clean: rm -f $(PROJECT) $(OBJS) $(DEPS) distclean: clean - rm -f scene.ppm scene.bmp + rm -f tags gmon.out scene.ppm scene.bmp + +dist: + git archive $(PROJECT) --prefix=$(PROJECT)/ --output=$(PROJECT).zip run: $(PROJECT) ./$< && $(VIEWER) scene.ppm @@ -30,4 +48,7 @@ debug: $(PROJECT) gdb ./$< -include $(DEPS) +$(OBJS): Makefile + +.PHONY: all clean distclean run debug