]>
Commit | Line | Data |
---|---|---|
d7463f75 JS |
1 | # |
2 | # File: Makefile for wxconfigtool | |
3 | # Author: Julian Smart | |
4 | # Created: 2002.05.12 | |
5 | # Updated: | |
6 | # Copyright: (c) Julian Smart | |
7 | # | |
8 | # To make absolutely everything: | |
9 | # | |
10 | # % mkdir /tmp/wxconfigtool-build | |
11 | # % cd /tmp/wxconfigtool-build | |
12 | # % make -f $(APPDIR)/src/Makefile WXDIR=$(WXDIR) WXBUILDDIR=$(WXBUILDDIR) APPDIR=$(APPDIR) LEVEL=debug full | |
13 | # | |
14 | # To make just ConfigTool: | |
15 | # | |
16 | # % make ... LEVEL=debug wxconfigtool | |
17 | # | |
18 | # To make wxWindows library: | |
19 | # | |
20 | # % make ... LEVEL=debug wx | |
21 | # | |
22 | # The result will be subdirectories under your /tmp/wxconfigtool-build (or other specified | |
23 | # directory) containing: | |
24 | # | |
25 | # wxconfigtool-build-debug/ | |
26 | # wxwin-build-debug/ | |
27 | # | |
28 | # To make a release version, specify LEVEL=release instead of LEVEL=debug. | |
29 | # | |
30 | ||
31 | # Current (build) directory | |
32 | CURRDIR = $(shell pwd) | |
33 | BUILDDIR=$(CURRDIR) | |
34 | ||
35 | top_srcdir = $(WXDIR) | |
36 | top_builddir = $(WXBUILDDIR) | |
37 | program_dir = | |
38 | ||
39 | # If we don't specify a location for wxWindows to be | |
40 | # built, use a default. | |
41 | ifeq "$(top_builddir)" "" | |
42 | topbuilddir = $(CURRDIR)/wxwin-build-$(LEVEL) | |
43 | WXBUILDDIR=$(top_builddir) | |
44 | endif | |
45 | ||
46 | # ConfigTool build directory | |
47 | APPBUILDDIR=$(BUILDDIR)/wxconfigtool-build-$(LEVEL) | |
48 | ||
49 | # StartingBlocks source hierarchy | |
50 | # You have to specify this when invoking make. | |
51 | APPDIR=You_should_override_the_APPDIR_variable | |
52 | ||
53 | # ConfigTool source directory | |
54 | APPSRCDIR=$(APPDIR)/src | |
55 | ||
56 | # ConfigTool include directory | |
57 | APPINCDIR=$(APPDIR)/src | |
58 | ||
59 | # Extra includes | |
60 | APPEXTRADEFS= \ | |
61 | -I$(WXDIR)/contrib/include \ | |
62 | -I$(APPSRCDIR) \ | |
63 | ||
64 | # -I$(UTILSDIR) \ | |
65 | ||
f8105809 | 66 | WXVERSION=2.5 |
d7463f75 JS |
67 | |
68 | # Use the small C++ support library | |
f8105809 JS |
69 | APPEXTRALIBS=-lsupc++ |
70 | ||
71 | # ${top_builddir}/lib/libwx_$(WXTOOLKIT)$(WXDEBUGSUFFIX)_xrc-$(WXVERSION).a | |
d7463f75 JS |
72 | |
73 | PLATFORM_OS=$(shell echo $(OS)) | |
74 | ||
75 | ifeq "$(PLATFORM_OS)" "Windows_NT" | |
76 | ARCHITECTURE="i686" | |
77 | WXTOOLKIT=msw | |
78 | else | |
79 | ARCHITECTURE=$(shell arch) | |
80 | ifeq "$(ARCHITECTURE)" "i686" | |
81 | WXTOOLKIT=gtk | |
82 | else | |
83 | WXTOOLKIT=mac | |
84 | endif | |
85 | endif | |
86 | ||
87 | #printit: | |
88 | # @echo $(PLATFORM_OS) | |
89 | ||
90 | ifeq "$(LEVEL)" "debug" | |
91 | WXDEBUGSUFFIX=d | |
92 | else | |
93 | WXDEBUGSUFFIX= | |
94 | endif | |
95 | ||
96 | ||
97 | # Where to find the wx-config file | |
98 | WXCONFIG=$(WXBUILDDIR)/wx-config $(WXCONFIGFLAGS) | |
99 | ||
100 | ifeq "$(LEVEL)" "debug" | |
101 | WXDEBUGFLAGS=--enable-debug --enable-debug_gdb --enable-debug_cntxt | |
102 | endif | |
103 | ||
104 | PROGRAM=$(APPBUILDDIR)/wxconfigtool | |
105 | ||
106 | OBJECTS = \ | |
107 | $(APPBUILDDIR)/appsettings.o \ | |
108 | $(APPBUILDDIR)/configitem.o \ | |
109 | $(APPBUILDDIR)/configitemselector.o \ | |
110 | $(APPBUILDDIR)/configtooldoc.o \ | |
111 | $(APPBUILDDIR)/configtoolview.o \ | |
112 | $(APPBUILDDIR)/configtree.o \ | |
113 | $(APPBUILDDIR)/custompropertydialog.o \ | |
114 | $(APPBUILDDIR)/htmlparser.o \ | |
115 | $(APPBUILDDIR)/mainframe.o \ | |
116 | $(APPBUILDDIR)/propeditor.o \ | |
117 | $(APPBUILDDIR)/property.o \ | |
118 | $(APPBUILDDIR)/settingsdialog.o \ | |
119 | $(APPBUILDDIR)/utils.o \ | |
120 | $(APPBUILDDIR)/wxconfigtool.o | |
121 | ||
122 | DEPFILES=$(PROGRAM).d | |
123 | ||
124 | ifeq "$(USEDUMMYMAKEPROG)" "1" | |
125 | include $(APPSRCDIR)/makeprog.env | |
126 | else | |
127 | include $(top_builddir)/src/makeprog.env | |
128 | endif | |
129 | ||
8cb4919b JS |
130 | # Need to place -lsupc++ at end of libs or we get |
131 | # link errors. Note the := syntax to prevent a | |
132 | # recursive variable error. | |
133 | LDLIBS:=${LDLIBS} -lsupc++ | |
134 | ||
059d039e JS |
135 | # Only omit C++ libs for economy of size on Unix |
136 | ifeq "$(WXTOOLKIT)" "msw" | |
137 | CC=c++ | |
138 | CXX=c++ | |
139 | else | |
d7463f75 JS |
140 | CC=gcc |
141 | CXX=gcc | |
059d039e | 142 | endif |
d7463f75 JS |
143 | |
144 | mkbuilddir: | |
145 | mkdir -p $(APPBUILDDIR) | |
146 | ||
147 | full: wx all | |
148 | ||
149 | # --with-libpng=builtin --with-zlib=builtin --with-libjpeg=builtin | |
150 | wx: | |
151 | @mkdir -p $(WXBUILDDIR) ; \ | |
152 | cd $(WXBUILDDIR) ; \ | |
153 | if test ! -f Makefile ; then rm -f *.o *.d ; \ | |
154 | rm -f *.cache ; \ | |
155 | $(WXDIR)/configure --disable-shared --enable-gui --enable-log $(WXDEBUGFLAGS) --with-threads --disable-no_rtti --without-sockets --without-odbc --with-libjpeg --with-libpng=builtin --with-zlib=builtin --enable-wave ; \ | |
156 | fi; \ | |
157 | make; cd contrib/src/xrc; make | |
158 | ||
159 | cleanapp: clean | |
160 | ||
161 | cleanwx: | |
162 | rm -f -r $(WXBUILDDIR) | |
163 | ||
164 | cleanall: cleanapp cleanwx | |
165 | ||
166 | wxconfigtool: mkbuilddir all | |
167 | ||
168 | # Making a binary, RH Linux tarball release using the setup script. | |
169 | # It will put the result in /tmp/wxconfigtool-deliver. | |
170 | release: | |
171 | echo "#include <stdio.h>" > /tmp/appver.c | |
172 | echo "#include \"symbols.h\"" >> /tmp/appver.c | |
173 | echo "int main() { printf(\"%.2f\", ctVERSION_NUMBER); }" >> /tmp/appver.c | |
174 | cc /tmp/appver.c -I$(APPSRCDIR) -o /tmp/appver | |
175 | chmod a+x $(APPSRCDIR)/../scripts/maketarball.sh | |
176 | $(APPSRCDIR)/../scripts/maketarball.sh $(APPDIR) $(APPBUILDDIR) /tmp/wxconfigtool-deliver `/tmp/appver` # --upx | |
177 | echo The release is in /tmp/wxconfigtool-deliver. | |
178 | # rm -f /tmp/appver /tmp/appver.c | |
179 | ||
180 | # Gives a list of targets | |
181 | help: | |
182 | @echo "Targets: full, wxconfigtool, wx, cleanall, clean, cleanwx, release" | |
183 | ||
184 | ### File dependencies | |
185 | ||
186 | # Main app files | |
187 | ||
188 | $(APPBUILDDIR)/wxconfigtool.o: $(APPSRCDIR)/wxconfigtool.cpp $(APPINCDIR)/wxconfigtool.h $(APPSRCDIR)/symbols.h | |
189 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
190 | ||
191 | $(APPBUILDDIR)/appsettings.o: $(APPSRCDIR)/appsettings.cpp $(APPSRCDIR)/appsettings.h $(APPSRCDIR)/symbols.h | |
192 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
193 | ||
194 | $(APPBUILDDIR)/configitem.o: $(APPSRCDIR)/configitem.cpp $(APPSRCDIR)/configitem.h $(APPSRCDIR)/symbols.h | |
195 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
196 | ||
197 | $(APPBUILDDIR)/configitemselector.o: $(APPSRCDIR)/configitemselector.cpp $(APPSRCDIR)/configitemselector.h $(APPSRCDIR)/symbols.h | |
198 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
199 | ||
200 | $(APPBUILDDIR)/configtooldoc.o: $(APPSRCDIR)/configtooldoc.cpp $(APPSRCDIR)/configtooldoc.h $(APPSRCDIR)/symbols.h | |
201 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
202 | ||
203 | $(APPBUILDDIR)/configtoolview.o: $(APPSRCDIR)/configtoolview.cpp $(APPSRCDIR)/configtoolview.h $(APPSRCDIR)/symbols.h | |
204 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
205 | ||
206 | $(APPBUILDDIR)/configtree.o: $(APPSRCDIR)/configtree.cpp $(APPSRCDIR)/configtree.h $(APPSRCDIR)/symbols.h | |
207 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
208 | ||
209 | $(APPBUILDDIR)/custompropertydialog.o: $(APPSRCDIR)/custompropertydialog.cpp $(APPSRCDIR)/custompropertydialog.h $(APPSRCDIR)/symbols.h | |
210 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
211 | ||
212 | $(APPBUILDDIR)/htmlparser.o: $(APPSRCDIR)/htmlparser.cpp $(APPSRCDIR)/htmlparser.h $(APPSRCDIR)/symbols.h | |
213 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
214 | ||
215 | $(APPBUILDDIR)/mainframe.o: $(APPSRCDIR)/mainframe.cpp $(APPINCDIR)/mainframe.h $(APPSRCDIR)/symbols.h | |
216 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
217 | ||
218 | $(APPBUILDDIR)/propeditor.o: $(APPSRCDIR)/propeditor.cpp $(APPINCDIR)/propeditor.h $(APPSRCDIR)/symbols.h | |
219 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
220 | ||
221 | $(APPBUILDDIR)/property.o: $(APPSRCDIR)/property.cpp $(APPINCDIR)/property.h $(APPSRCDIR)/symbols.h | |
222 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
223 | ||
224 | $(APPBUILDDIR)/settingsdialog.o: $(APPSRCDIR)/settingsdialog.cpp $(APPINCDIR)/settingsdialog.h $(APPSRCDIR)/symbols.h | |
225 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< | |
226 | ||
f8105809 | 227 | $(APPBUILDDIR)/utils.o: $(APPSRCDIR)/utils.cpp $(APPINCDIR)/utils.h $(APPSRCDIR)/symbols.h |
d7463f75 JS |
228 | $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< |
229 | ||
230 | $(APPBUILDDIR)/wxconfigtool_resources.o: $(APPSRCDIR)/wxconfigtool.rc | |
231 | $(RESCOMP) -i $< -o $@ $(RESFLAGS) --include-dir $(APPSRCDIR) | |
232 |