1# Make all the bindings in Linux or in Cygwin.
2
3# The root wxLua directory.
4WXLUA_DIR    = ../
5
6#----------------------------------------------------------------------------
7
8# If we're using cygwin, the lua executable maybe elsewhere, try some common places.
9# Note some other variables cygwin sets don't seem to be exported.
10ifeq (Cygwin, $(findstring Cygwin, $(XTERM_VERSION)))
11	LUA=$(WXLUA_DIR)/bin/vc_lib/lua.exe
12else
13	LUA=$(WXLUA_DIR)/bin/lua
14endif
15
16LUA_ABS = $(realpath $(LUA))
17
18#----------------------------------------------------------------------------
19
20ALL_BINDINGS = wxbase wxcore wxadv wxaui wxgl wxhtml wxnet wxmedia wxstc wxxml wxxrc wxpropgrid wxrichtext wxwebview wxlua wxlua_debugger wxluacan wxdatatypes
21
22# Always try to build all targets, let the other Makefiles do dep checking
23.PHONY: all clean genidocs $(ALL_BINDINGS)
24
25# These have to be in order of their dependencies
26all: $(ALL_BINDINGS)
27
28#----------------------------------------------------------------------------
29# wxWidgets bindings
30
31wxadv: wxcore
32	@echo Building wxAdv
33	@($(LUA) -e"rulesFilename=\"wxwidgets/wxadv_rules.lua\"" genwxbind.lua)
34
35wxaui: wxcore
36	@echo Building wxAui
37	@($(LUA) -e"rulesFilename=\"wxwidgets/wxaui_rules.lua\"" genwxbind.lua)
38
39wxbase:
40	@echo Building wxBase
41	@($(LUA) -e"rulesFilename=\"wxwidgets/wxbase_rules.lua\"" genwxbind.lua)
42
43wxcore: wxbase
44	@echo Building wxCore
45	@($(LUA) -e"rulesFilename=\"wxwidgets/wxcore_rules.lua\"" genwxbind.lua)
46
47wxgl: wxcore
48	@echo Building wxGL
49	@($(LUA) -e"rulesFilename=\"wxwidgets/wxgl_rules.lua\"" genwxbind.lua)
50
51wxhtml: wxcore
52	@echo Building wxHtml
53	@($(LUA) -e"rulesFilename=\"wxwidgets/wxhtml_rules.lua\"" genwxbind.lua)
54
55wxmedia: wxcore wxnet
56	@echo Building wxMedia
57	@($(LUA) -e"rulesFilename=\"wxwidgets/wxmedia_rules.lua\"" genwxbind.lua)
58
59wxnet: wxcore
60	@echo Building wxNet
61	@($(LUA) -e"rulesFilename=\"wxwidgets/wxnet_rules.lua\"" genwxbind.lua)
62
63wxpropgrid: wxcore
64	@echo Building wxPropertyGrid
65	@($(LUA) -e"rulesFilename=\"wxwidgets/wxpropgrid_rules.lua\"" genwxbind.lua)
66
67wxrichtext: wxcore
68	@echo Building wxRichText
69	@($(LUA) -e"rulesFilename=\"wxwidgets/wxrichtext_rules.lua\"" genwxbind.lua)
70
71wxstc: wxcore
72	@echo Building wxStc
73	@($(LUA) -e"rulesFilename=\"wxwidgets/wxstc_rules.lua\"" genwxbind.lua)
74
75wxwebview: wxcore
76	@echo Building wxWebView
77	@($(LUA) -e"rulesFilename=\"wxwidgets/wxwebview_rules.lua\"" genwxbind.lua)
78
79wxxml: wxbase
80	@echo Building wxXml
81	@($(LUA) -e"rulesFilename=\"wxwidgets/wxxml_rules.lua\"" genwxbind.lua)
82
83wxxrc: wxcore
84	@echo Building wxXrc
85	@($(LUA) -e"rulesFilename=\"wxwidgets/wxxrc_rules.lua\"" genwxbind.lua)
86
87# ---------------------------------------------------------------------------
88# wxLua bindings
89
90wxlua: wxbase
91	@echo Building wxLua
92	@($(LUA) -e"rulesFilename=\"wxlua/wxlua_rules.lua\"" genwxbind.lua)
93
94wxlua_debugger: wxcore
95	@echo Building wxLuaDebugger
96	@($(LUA) -e"rulesFilename=\"wxlua_debugger/wxluadebugger_rules.lua\"" genwxbind.lua)
97
98# ---------------------------------------------------------------------------
99
100wxluacan: wxdatatypes
101	@echo Building wxLuaCan
102	@(cd $(WXLUA_DIR)/apps/wxluacan && $(MAKE) LUA=$(LUA_ABS) genwxbind)
103
104# ---------------------------------------------------------------------------
105# Generate the datatypes file that declares all the known data types.
106
107wxdatatypes: wxadv wxaui wxbase wxcore wxgl wxhtml wxmedia wxnet wxrichtext wxstc wxxml wxxrc
108	@echo Building wx DataTypes
109	@($(LUA) -e"rulesFilename=\"wxwidgets/wxdatatypes_rules.lua\"" genwxbind.lua)
110
111# ---------------------------------------------------------------------------
112# make the wxluaref.htm documentation
113
114genidocs:
115	@($(LUA) -e"rulesFilename=\"genidocs_rules.lua\"" genidocs.lua)
116
117# ---------------------------------------------------------------------------
118# do nothing to clean
119
120clean:
121