# Makefile for games_libs/lua
# $Id: Makefile 918 2009-05-22 07:38:52Z satofumi $

# Compile options
CC = $(CXX)
#CXXFLAGS = -g -O0 -Wall -W -Werror $(INCLUDES) `sdl-config --cflags`
CXXFLAGS = -g -O0 -Wall -W $(INCLUDES) `sdl-config --cflags`
INCLUDES = -I.. -I../system -I../gui -I../geometry -I../audio -I../common

# Target
LUA_LIB = lua.a
LUABIND_LIB = lua_luabind.a
TOLUA_LIB = lua_tolua.a
TARGET = $(LUA_LIB) $(LUABIND_LIB) $(TOLUA_LIB)

all : $(TARGET)

clean :
	$(RM) *.o $(TARGET) allTest
	cd samples/ && $(MAKE) clean

test : allTest
	./allTest

depend :
	makedepend -Y -- $(INCLUDES) -- $(wildcard *.h *.cpp)

.PHONY : all clean depend
######################################################################
.SUFFIXES : .cpp .pkg
.pkg.cpp :
	tolua++ -n `ruby stripTolua.rb $*` -o $@ $<

$(LUA_LIB) : \
	$(LUA_LIB)(LuaHandler.o) \

$(LUABIND_LIB) : \
	$(LUABIND_LIB)(luabindInit.o) \
	$(LUABIND_LIB)(luabindSystem.o) \
	$(LUABIND_LIB)(luabindGeometry.o) \
	$(LUABIND_LIB)(luabindGui.o) \
	$(LUABIND_LIB)(luabindNetwork.o) \
	$(LUABIND_LIB)(luabindAudio.o) \

$(TOLUA_LIB) : \
	$(TOLUA_LIB)(toluaSystem.o) \

allTest.o : ../../unittest/allTest.cpp
	$(CXX) $(CXXFLAGS) `cppunit-config --cflags` $< -c -o $@

TEST_OBJS = allTest.o TestScriptedStateMachine.o $(REQUIRE_LIBS)
TEST_LDLIBS = -lluabind
allTest : $(TEST_OBJS)
	$(CXX) $(CXXFLAGS) $(TEST_OBJS) -o $@ `cppunit-config --libs` $(TEST_LDLIBS)

# DO NOT DELETE

LuaHandler.o: LuaHandler.h ../system/log_printf.h
TestScriptedStateMachine.o: TestScriptedStateMachine.h ScriptedStateMachine.h
luabindAudio.o: luabindAudio.h luabindInit.h ../audio/SoundEffect.h
luabindGeometry.o: luabindGeometry.h luabindInit.h ../geometry/Point.h
luabindGeometry.o: ../geometry/Rect.h
luabindGui.o: luabindGui.h luabindInit.h LuaHandler.h ../gui/Screen.h
luabindGui.o: ../geometry/Rect.h ../gui/TextInput.h ../gui/Event.h
luabindGui.o: ../geometry/Point.h ../gui/EventUtils.h ../gui/LayerManager.h
luabindGui.o: ../gui/LayerInterface.h ../gui/Layer.h ../gui/Font.h
luabindGui.o: ../common/Color.h ../gui/TextSurface.h ../gui/Surface.h
luabindGui.o: ../gui/ColorSurface.h ../gui/ImageSurface.h
luabindGui.o: ../gui/MultiSurface.h ../gui/Label.h ../gui/Component.h
luabindGui.o: ../gui/Button.h ../gui/Menu.h ../gui/ChatMessage.h
luabindGui.o: ../gui/CallbackEvent.h ../gui/AlignUtils.h
luabindInit.o: luabindInit.h LuaHandler.h ../system/log_printf.h
luabindNetwork.o: luabindNetwork.h luabindInit.h
luabindSystem.o: luabindSystem.h luabindInit.h ../system/delay.h
luabindSystem.o: ../system/getTicks.h ../system/CycleTimer.h
