FILES=src/MainScreen.o src/MapContainer.o src/GameCore.o src/Terrain.o src/SandboxScreen.o src/CircleBase.o src/Projectile.o src/CircleSet.o \ src/CircleUnit.o src/Shooter.o src/Projectile.o OUTNAME=circlewars HGMODS=Mercury2/modules/ NEEDED_MODULES=$(HGMODS)TextNode.so $(HGMODS)Cu2.so $(HGMODS)BillboardNode.so $(HGMODS)TextPlate.so HG_CORE=Mercury2/mercury.so CFLAGS=-IMercury2/src -DHAVE_CONFIG -DHGENGINE -IMercury2/modules -IMercury2/ -O2 -g CXXFLAGS=$(CFLAGS) all : $(OUTNAME) (cd modules&&$(MAKE)&&cd ..) $(OUTNAME) : $(FILES) $(NEEDED_MODULES) $(HG_CORE) g++ -o $@ $^ %.o : %.cpp $(HG_CORE) g++ $(CFLAGS) -c $< -o $@ $(NEEDED_MODULES) : $(HG_CORE) (cd Mercury2&&$(MAKE) modules&&cd ..) $(HG_CORE): makeMercury .PHONY : makeMercury makeMercury : Mercury2/Makefile (cd Mercury2&&$(MAKE)&&cd ..) Mercury2/Makefile : (cd Mercury2&&./cnconfigure&&cd ..) clean : rm -rf *~ *.o src/*.o src/*~ $(OUTNAME) (cd modules&&$(MAKE) clean&&cd ..) clobber : Mercury2/Makefile rm -rf *~ *.o $(OUTNAME) src/*.o src/*~ (cd Mercury2&&$(MAKE) clean&&cd ..) rm -rf Mercury2/configuration.h rm -rf Mercury2/Makefile