# Makefile for the Voodoo demos
#
# Add -DXMESA to the COPTS if you want to enable the "on the fly"
# 3Dfx window/full-screen toggle.
#

TAR=fp
CC=gcc
LINKER=gcc
STATIC=
#STATIC=-static
AUXCOPTS=-Wall -I. -I ./include 
#-DFX -DXMESA
COPTS=-g $(AUXCOPTS)
COPTS=-O3 -fomit-frame-pointer  -ffast-math $(AUXCOPTS)
#COPTS=-O3 -pg $(AUXCOPTS)

LINKOPTS= -L./lib -L/usr/X11R6/lib $(STATIC) -lglut -lGLU -lGL -lXt -lXi -lXmu -lXext -lX11 -lpng -lz -lm 

%.o: %.c
	$(CC) -c $(COPTS) $< -o $@

all: freeplot

twister t: twister.o 
	$(LINKER) $(COPTS) $^ -o $@ $(LINKOPTS)

freeplot f: freeplot.o dwchrono.o pngio.o texfont.o 
	$(LINKER) $(COPTS) freeplot.o dwchrono.o pngio.o texfont.o -o $@ $(LINKOPTS)

vsync v: vsync.o dwchrono.o
	$(LINKER) $(COPTS) vsync.o dwchrono.o -o $@ $(LINKOPTS)

glflare: glflare.o loadlum.o
	$(LINKER) $(COPTS) glflare.o loadlum.o -o $@ $(LINKOPTS)

gentexfont: gentexfont.o
	$(LINKER) $(COPTS) gentexfont.o -o $@ $(LINKOPTS)

showtxf: showtxf.o texfont.o
	$(LINKER) $(COPTS) showtxf.o texfont.o -o $@ $(LINKOPTS)

simpletxf: simpletxf.o texfont.o
	$(LINKER) $(COPTS) simpletxf.o texfont.o -o $@ $(LINKOPTS)

txfdemo: txfdemo.o texfont.o
	$(LINKER) $(COPTS) txfdemo.o texfont.o -o $@ $(LINKOPTS)



clean c:
	 $(RM) *.CKP *.ln *.BAK *.bak *.o core ,* *~ *.a .emacs_* tags TAGS make.log MakeOut  "#"*


tar:
	@tar zcf $(TAR).tgz Makefile *.[ch] textures 

ftp: tar
	@rm -rf freeplot
	@mkdir freeplot; cd freeplot; tar zxvf ../$(TAR).tgz
	@tar zcvf freeplot.tgz freeplot
	cp freeplot.tgz $(HOME)/W3/ftp/freeplot.tgz
	@zip zip -r -9 freeplot freeplot
	cp freeplot.zip $(HOME)/W3/ftp/freeplot.zip
	@rm -rf freeplot

d7: tar
	@echo "copying archive to a: ..."
	@(mdel a:$(TAR).tgz a:$(TAR).sec 2>/dev/null; /bin/true)
	@mcopy -n $(TAR).tgz a:
	@mcopy -n $(TAR).tgz a:$(TAR).sec
	@mdir

g7: 	
	@echo "unpacking archive from a: ..."
	@secu
	@mcopy -n a:$(TAR).tgz .
	@tar zxvf $(TAR).tgz

wc:
	wc -l dw*.[ch] lissaj.[ch] U.h
