

# General options.
OBJECTS           = 	\
main.o
BIND_HEADERS      = Person.h
WXLUA_BIND_RULES  = wxluanstest_rules.lua
WXLUA_BIND_IFILE  = wxluanstest.i
WXLUA_BIND_OBJECTS= 	\
wxluanstest.o		\
wxluanstest_bind.o
WXLUA_BIND_OUTPUT = 	\
wxluanstest.cpp		\
wxluanstest.h		\
wxluanstest_bind.cpp    \
wxluanstest_datatypes.lua
CXXFLAGS         += -Wall
#LDFLAGS          +=
#LIBS             +=
TARGET            = wxluanstest

# wxWidgets options.
WXCONFIG         := /opt/installs/bin/wx-config
WXEXECPREFIX      = $(shell $(WXCONFIG) --exec-prefix)
WXVERSION         = $(shell $(WXCONFIG) --version)
WXRELEASE         = $(shell $(WXCONFIG) --release)
#WXBASENAME        = $(shell $(WXCONFIG) --basename)
WXBASENAME        = wxlua_gtk2
CXX               = $(shell $(WXCONFIG) --cxx)
CXXFLAGS         += $(shell $(WXCONFIG) --cxxflags)
LDFLAGS          += -L$(WXEXECPREFIX)/lib
LIBS             += $(shell $(WXCONFIG) --libs) -lwx_gtk2ud_gl-2.8 -lwx_gtk2ud_stc-2.8

# wxLua options.
WXLUAPREFIX       = /opt/builds/wxLua/mock_debug_install
WXLUABINDGENBIN   = /opt/builds/wxLua/bindings/genwxbind.lua
WXLUASETUPINCDIR  = /opt/builds/wxLua/mock_debug_install/include/wxbind/setup
CXXFLAGS         += -I$(WXLUAPREFIX)/include -I$(WXLUASETUPINCDIR) \
#                    -DLUACALL= -DWXLUA_LUA_NEWTHREAD
#CXXFLAGS         += -I$(WXLUASETUPINCDIR) -DLUACALL= -DWXLUA_LUA_NEWTHREAD
LDFLAGS          += -L$(WXLUAPREFIX)/lib
WXLUALIB          = $(WXBASENAME)_wxlua-$(WXRELEASE)
WXLUADEBUGLIB     = $(WXBASENAME)_wxluadebug-$(WXRELEASE)
WXLUASOCKETLIB    = $(WXBASENAME)_wxluasocket-$(WXRELEASE)
WXLUABINDLIB      = $(WXBASENAME)_wxbind-$(WXRELEASE)
LIBS             += -l$(WXLUALIB) -l$(WXLUADEBUGLIB) -l$(WXLUASOCKETLIB)\
		-l$(WXLUABINDLIB)

# Lua options.
LUAPREFIX         = /opt/builds/wxLua/mock_debug_install/
CXXFLAGS         += -I$(LUA_PREFIX)/include
LDFLAGS          += -L$(LUA_PREFIX)/lib
LIBS             += -llua5.1


default: all

all: $(TARGET)

$(TARGET): $(OBJECTS) $(WXLUA_BIND_OBJECTS)
	$(CXX) -o $@ $(OBJECTS) $(WXLUA_BIND_OBJECTS) $(LDFLAGS) $(LIBS)

clean:
	rm -f $(OBJECTS) $(TARGET) $(WXLUA_BIND_OBJECTS) $(WXLUA_BIND_OUTPUT)


# Dependencies.

main.o: $(BIND_HEADERS) WxLuaErrorEventHandler.h

$(WXLUA_BIND_OBJECTS): $(BIND_HEADERS)

$(WXLUA_BIND_OUTPUT): $(WXLUA_BIND_IFILE) $(WXLUA_BIND_RULES)
	lua -e"rulesFilename=\"$(WXLUA_BIND_RULES)\"" $(WXLUABINDGENBIN)
archive:
	tar cfz wxluanstest.tar.gz main.cpp $(BIND_HEADERS) \
	WxLuaErrorEventHandler.h $(WXLUA_BIND_RULES) $(WXLUA_BIND_IFILE) \
	wxluanstest_bind.cpp wxluanstest_datatypes.lua \
	wxluanstest_prog.lua Makefile