# Makefile for games_libs/lua
# $Id: Makefile 1405 2009-10-12 11:59:45Z 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/usr/include/lua5.1 -I.. -I../system -I../gui -I../geometry -I../audio -I../common -I../sync_gui -I../running -I../range_finder -I../coordinate -I../monitoring -I../running/beego_drive

# 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)(luabindCommon.o) \
	$(LUABIND_LIB)(luabindSystem.o) \
	$(LUABIND_LIB)(luabindGeometry.o) \
	$(LUABIND_LIB)(luabindGui.o) \
	$(LUABIND_LIB)(luabindNetwork.o) \
	$(LUABIND_LIB)(luabindAudio.o) \
	$(LUABIND_LIB)(luabindCoordinate.o) \
	$(LUABIND_LIB)(luabindRunning.o) \
	$(LUABIND_LIB)(luabindRangeFinder.o) \
	$(LUABIND_LIB)(luabindSyncGui_master.o) \
	$(LUABIND_LIB)(luabindSyncGui_slave.o) \
	$(LUABIND_LIB)(luabindBeegoDrive.o) \
	$(LUABIND_LIB)(luabindUrgDistance.o) \

$(TOLUA_LIB) : \
	$(TOLUA_LIB)(toluaSystem.o) \
	$(TOLUA_LIB)(toluaGeometry.o) \
	$(TOLUA_LIB)(toluaGui.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 ../audio/SoundEffect.h
luabindBeegoDrive.o: luabindBeegoDrive.h ../monitoring/mBeegoDrive.h
luabindBeegoDrive.o: ../coordinate/Coordinate.h ../geometry/Position.h
luabindBeegoDrive.o: ../geometry/Angle.h ../running/Running.h
luabindBeegoDrive.o: ../geometry/Point.h ../running/WheelDirect.h
luabindCommon.o: luabindCommon.h ../common/Color.h
luabindCoordinate.o: luabindCoordinate.h ../coordinate/Coordinate.h
luabindCoordinate.o: ../geometry/Position.h ../geometry/Angle.h
luabindGeometry.o: luabindGeometry.h ../geometry/Point.h
luabindGeometry.o: ../geometry/Point3d.h ../geometry/Rect.h
luabindGeometry.o: ../geometry/Position.h ../geometry/Angle.h
luabindGui.o: luabindGui.h LuaHandler.h ../gui/Screen.h ../geometry/Rect.h
luabindGui.o: ../gui/TextInput.h ../gui/Event.h ../geometry/Point.h
luabindGui.o: ../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
luabindRangeFinder.o: luabindRangeFinder.h ../monitoring/mUrgDevice.h
luabindRangeFinder.o: ../range_finder/UrgDevice.h ../coordinate/Coordinate.h
luabindRangeFinder.o: ../geometry/Position.h ../geometry/Angle.h
luabindRangeFinder.o: ../range_finder/RangeFinder.h ../system/MathUtils.h
luabindRangeFinder.o: ../system/DetectOS.h ../monitoring/mUrgDistance.h
luabindRangeFinder.o: ../range_finder/UrgDistance.h
luabindRunning.o: luabindRunning.h ../running/BeegoDrive.h
luabindRunning.o: ../coordinate/Coordinate.h ../geometry/Position.h
luabindRunning.o: ../geometry/Angle.h ../running/Running.h
luabindRunning.o: ../geometry/Point.h ../running/WheelDirect.h
luabindSyncGui_master.o: luabindSyncGui_master.h ../gui/Component.h
luabindSyncGui_master.o: ../geometry/Rect.h ../geometry/Point.h
luabindSyncGui_master.o: ../sync_gui/MasterLayer.h ../gui/LayerInterface.h
luabindSyncGui_master.o: ../common/Color.h ../sync_gui/master_ColorSurface.h
luabindSyncGui_master.o: ../gui/Surface.h ../sync_gui/master_Label.h
luabindSyncGui_slave.o: luabindSyncGui_slave.h
luabindSystem.o: luabindSystem.h ../system/delay.h ../system/ticks.h
luabindSystem.o: ../system/CycleTimer.h
luabindUrgDistance.o: luabindUrgDistance.h ../monitoring/mUrgDistance.h
luabindUrgDistance.o: ../range_finder/UrgDistance.h
luabindUrgDistance.o: ../range_finder/UrgDevice.h ../coordinate/Coordinate.h
luabindUrgDistance.o: ../geometry/Position.h ../geometry/Angle.h
luabindUrgDistance.o: ../range_finder/RangeFinder.h ../system/MathUtils.h
luabindUrgDistance.o: ../system/DetectOS.h
