#Who?
.PHONEY: LINUX  DJGPP
.IGNORE: clean

#Assume DJDIR decides if we're linux or dos. =-(

ifndef DJDIR
# linux and svgalib
LDFLAGS = -lm -lvga -lvgagl
#CFLAGS = -c -g -O1
CFLAGS = -c -O6
ZIP = zip
CCC = g++
RM = rm
else
# dos and djgpp and allegro
LDFLAGS = -lm -lalleg
CFLAGS = -c -g -O6 -DDJDIR
CCC = gcc
ZIP = pkzip
RM = del
endif

HDRS = matrix.h myvga.h skel.h slist.h solid.h spec.h grfont.h anaglyph.h
SRCS = main.cc matrix.cc myvga.cc skel.cc slist.cc solid.cc spec.cc grfont.cc anaglyph.cc
OTHERS = parser.l Makefile format.doc

slist: slist.o spec.o parser.o main.o matrix.o skel.o solid.o myvga.o grfont.o anaglyph.o
	$(CCC) -O6 -o slist slist.o spec.o parser.o main.o matrix.o skel.o solid.o myvga.o grfont.o anaglyph.o $(LDFLAGS)
slist.o: slist.cc slist.h
ifdef DJDIR
	@echo compilinging for djgpp
else
	@echo compiling for linux
endif
	$(CCC) $(CFLAGS) slist.cc 
matrix.o: matrix.cc matrix.h
	$(CCC) $(CFLAGS) matrix.cc 
spec.o: spec.cc spec.h
	$(CCC) $(CFLAGS) spec.cc 
main.o: main.cc
	$(CCC) $(CFLAGS) main.cc 
anaglyph.o: anaglyph.cc
	$(CCC) $(CFLAGS) anaglyph.cc 
grfont.o: grfont.cc
	$(CCC) $(CFLAGS) grfont.cc 
solid.o: solid.cc
	$(CCC) $(CFLAGS) solid.cc
myvga.o: myvga.cc myvga.h
	$(CCC) $(CFLAGS) myvga.cc
skel.o: skel.cc
	$(CCC) $(CFLAGS) skel.cc
parser.o: lexyy.cc
	$(CCC) $(CFLAGS) lexyy.cc -o parser.o 
lexyy.cc: parser.l
	flex -olexyy.cc parser.l
clean:
	$(RM)  *.o
	$(RM) slist
	$(RM) lexyy.cc
	$(RM) slist.exe
in:
	ci -u -m/dev/null $(SRCS) $(HDRS) $(OTHERS)
out:
	co -l $(SRCS) $(HDRS) $(OTHERS)

zip:
	$(ZIP) slistsrc.zip $(SRCS) $(HDRS) $(OTHERS)

print:
	nscript -2rG $(SRCS) $(HDRS) $(OTHERS) 
newzip:
	$(ZIP) -r slistsrc.zip $(SRCS) $(HDRS) $(OTHERS) fonts
depend:
	makedepend -- $(CFLAGS) -- $(SRCS) $(OTHERS)
#
# DO NOT DELETE THIS LINE -- make  depend  depends  on it.
