

CXXFLAGS = -I. -I./libupp -I./libipary -I./intelib -ggdb -Wall
MYLIBS = libipary/all.o libupp/all.o intelib/lisp/lisp_all.o
MYMODULES = game.o pathfind.o lmisc.o play.o gameinfo.o
ILL = intelib/ill/ill
ILLDIR = intelib/ill/

all: prog
	:

prog: upp ipary intelib $(MYMODULES)
	$(CXX) -static $(CXXFLAGS) $(MYLIBS) $(MYMODULES) main.cpp -o prog

upp: FORCE
	cd libupp && $(MAKE) all

ipary: FORCE
	cd libipary && $(MAKE) all

intelib: FORCE
	cd intelib/lisp && $(MAKE) lisp_all.o

$(ILL):
	cd $(ILLDIR) && $(MAKE) bootstrap

play.cxx play.hxx: play.lsp $(ILL)
	$(ILL) - $(ILLDIR)/illdef._ls play.lsp

play.o: play.cxx 
	$(CXX) $(CXXFLAGS) -c $^ 


clean:
	cd libupp && $(MAKE) clean
	cd libipary && $(MAKE) clean
	cd intelib && $(MAKE) clean
	rm -f *.o prog
	
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< 

FORCE:


deps.mk: $(wildcard *.[ch]pp) play.cxx play.hxx
	$(CXX) $(CXXFLAGS) -MM $(wildcard *.cpp) > $@


ifneq (clean, $(MAKECMDGOALS))
-include deps.mk
endif
