]> git.saurik.com Git - wxWidgets.git/blob - distrib/msw/tmake/gtk_gnu.t
Added tmake template for simple wxGTK makefile
[wxWidgets.git] / distrib / msw / tmake / gtk_gnu.t
1 #!#############################################################################
2 #! File: gtk_gnu.t
3 #! Purpose: tmake template file from which makefile.gnu is generated by running
4 #! tmake -t gtk_gnu wxwin.pro -o makefile.gnu
5 #! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
6 #! Created: 14.07.99
7 #! Version: $Id$
8 #!#############################################################################
9
10 #${
11 #! include the code which parses filelist.txt file and initializes
12 #! %wxCommon, %wxGeneric, %wxHtml, wxUnix and %wxGTK hashes.
13 IncludeTemplate("filelist.t");
14
15 #! now transform these hashes into $project tags
16 foreach $file (sort keys %wxGeneric) {
17 next if $wxCommon{$file} =~ /\bR\b/;
18
19 $file =~ s/cp?p?$/\$(OBJSUFF)/;
20 $project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
21 }
22
23 foreach $file (sort keys %wxCommon) {
24 next if $wxCommon{$file} =~ /\bR\b/;
25
26 $file =~ s/cp?p?$/\$(OBJSUFF)/;
27 $project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
28 }
29
30 foreach $file (sort keys %wxGTK) {
31 $file =~ s/cp?p?$/\$(OBJSUFF)/;
32 $project{"WXGTKOBJS"} .= '$(GTKDIR)/' . $file . " "
33 }
34
35 foreach $file (sort keys %wxHTML) {
36 $file =~ s/cp?p?$/\$(OBJSUFF)/;
37 $project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
38 }
39
40 foreach $file (sort keys %wxUNIX) {
41 $file =~ s/cp?p?$/\$(OBJSUFF)/;
42 $project{"WXUNIXOBJS"} .= '$(UNIXDIR)/' . $file . " "
43 }
44 #$}
45 # This file was automatically generated by tmake at #$ Now()
46 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GNU.T!
47
48 #
49 # File: makefile.gnu
50 # Author: Julian Smart, Robert Roebling, Vadim Zeitlin
51 # Created: 1993
52 # Updated: 1999
53 # Copyright:(c) 1993, AIAI, University of Edinburgh,
54 # Copyright:(c) 1999, Vadim Zeitlin
55 # Copyright:(c) 1999, Robert Roebling
56 #
57 # Makefile for libwx_gtk.a
58
59 # GUI
60 GUI = gtk
61
62 # Replace this with your own path if necessary
63 WXDIR = ../..
64
65 # C++ compiler
66 CC = gcc
67
68 # C compiler
69 CCC = gcc
70
71 # Compiler for lex/yacc .c programs
72 CCLEX = $(CCC)
73
74 LEX = lex
75 YACC = yacc
76 # Note: if using bison, use -y option for yacc compatibility
77 # YACC = bison -y
78 MAKE = make
79 AROPTIONS = ruv
80 RANLIB = ranlib
81
82 # Debug/trace mode. 1 or more for debugging.
83 DEBUG = 1
84
85 # Misc options
86 CPPOPTIONS = __WXGTK__ -D__WXDEBUG__ -fno-rtti -fno-exceptions
87 COPTIONS = __WXGTK__ -D__WXDEBUG__
88 CPPWARN = -Wall
89 CWARN = -Wall
90 OPTIMISE = -O2
91
92 # object file suffix
93 OBJSUFF =o
94
95 # no changes below this line
96
97 GUIINCLUDES = `gtk-config --cflags`
98
99 WXINC = -I$(WXDIR)/include
100 WXLIB = $(WXDIR)/lib/libwx_$(GUI).a
101 INCLUDES = $(WXINC) $(GUIINCLUDES) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib
102
103 CPPFLAGS = $(INCLUDES) $(CPPOPTIONS) $(CPPWARN) $(OPTIMISE)
104 CFLAGS = $(INCLUDES) $(COPTIONS) $(CWARN) $(OPTIMISE)
105
106 # Clears all default suffixes
107 .SUFFIXES: .o .cpp .c
108
109 .c.o :
110 $(CCC) -c $(CFLAGS) -o $@ $<
111
112 .cpp.o :
113 $(CC) -c $(CPPFLAGS) -o $@ $<
114
115 .C.o :
116 $(CC) -c $(CPPFLAGS) -o $@ $<
117
118 # Subordinate library possibilities
119
120 GENDIR = $(WXDIR)/src/generic
121 COMMDIR = $(WXDIR)/src/common
122 HTMLDIR = $(WXDIR)/src/html
123 UNIXDIR = $(WXDIR)/src/unix
124 PNGDIR = $(WXDIR)/src/png
125 JPEGDIR = $(WXDIR)/src/jpeg
126 ZLIBDIR = $(WXDIR)/src/zlib
127 GTKDIR = $(WXDIR)/src/gtk
128
129 DOCDIR = $(WXDIR)\docs
130
131 GENERICOBJS = \
132 #$ ExpandList("WXGENERICOBJS");
133
134 COMMONOBJS = \
135 $(COMMDIR)/y_tab.$(OBJSUFF) \
136 #$ ExpandList("WXCOMMONOBJS");
137
138 HTMLOBJS = \
139 #$ ExpandList("WXHTMLOBJS");
140
141 GTKOBJS = \
142 #$ ExpandList("WXGTKOBJS");
143
144 UINXOBJS = \
145 #$ ExpandList("WXUNIXOBJS");
146
147 ZLIBOBJS = \
148 $(ZLIBDIR)/adler32.$(OBJSUFF) \
149 $(ZLIBDIR)/compress.$(OBJSUFF) \
150 $(ZLIBDIR)/crc32.$(OBJSUFF) \
151 $(ZLIBDIR)/gzio.$(OBJSUFF) \
152 $(ZLIBDIR)/uncompr.$(OBJSUFF) \
153 $(ZLIBDIR)/deflate.$(OBJSUFF) \
154 $(ZLIBDIR)/trees.$(OBJSUFF) \
155 $(ZLIBDIR)/zutil.$(OBJSUFF) \
156 $(ZLIBDIR)/inflate.$(OBJSUFF) \
157 $(ZLIBDIR)/infblock.$(OBJSUFF) \
158 $(ZLIBDIR)/inftrees.$(OBJSUFF) \
159 $(ZLIBDIR)/infcodes.$(OBJSUFF) \
160 $(ZLIBDIR)/infutil.$(OBJSUFF) \
161 $(ZLIBDIR)/inffast.$(OBJSUFF)
162
163 PNGOBJS = \
164 $(PNGDIR)/png.$(OBJSUFF) \
165 $(PNGDIR)/pngread.$(OBJSUFF) \
166 $(PNGDIR)/pngrtran.$(OBJSUFF) \
167 $(PNGDIR)/pngrutil.$(OBJSUFF) \
168 $(PNGDIR)/pngpread.$(OBJSUFF) \
169 $(PNGDIR)/pngtrans.$(OBJSUFF) \
170 $(PNGDIR)/pngwrite.$(OBJSUFF) \
171 $(PNGDIR)/pngwtran.$(OBJSUFF) \
172 $(PNGDIR)/pngwutil.$(OBJSUFF) \
173 $(PNGDIR)/pngerror.$(OBJSUFF) \
174 $(PNGDIR)/pngmem.$(OBJSUFF) \
175 $(PNGDIR)/pngwio.$(OBJSUFF) \
176 $(PNGDIR)/pngrio.$(OBJSUFF) \
177 $(PNGDIR)/pngget.$(OBJSUFF) \
178 $(PNGDIR)/pngset.$(OBJSUFF)
179
180
181 JPEGOBJS = \
182 $(JPEGDIR)/jcomapi.$(OBJSUFF) \
183 $(JPEGDIR)/jutils.$(OBJSUFF) \
184 $(JPEGDIR)/jerror.$(OBJSUFF) \
185 $(JPEGDIR)/jmemmgr.$(OBJSUFF) \
186 $(JPEGDIR)/jmemnobs.$(OBJSUFF) \
187 $(JPEGDIR)/jcapimin.$(OBJSUFF) \
188 $(JPEGDIR)/jcapistd.$(OBJSUFF) \
189 $(JPEGDIR)/jctrans.$(OBJSUFF) \
190 $(JPEGDIR)/jcparam.$(OBJSUFF) \
191 $(JPEGDIR)/jdatadst.$(OBJSUFF) \
192 $(JPEGDIR)/jcinit.$(OBJSUFF) \
193 $(JPEGDIR)/jcmaster.$(OBJSUFF) \
194 $(JPEGDIR)/jcmarker.$(OBJSUFF) \
195 $(JPEGDIR)/jcmainct.$(OBJSUFF) \
196 $(JPEGDIR)/jcprepct.$(OBJSUFF) \
197 $(JPEGDIR)/jccoefct.$(OBJSUFF) \
198 $(JPEGDIR)/jccolor.$(OBJSUFF) \
199 $(JPEGDIR)/jcsample.$(OBJSUFF) \
200 $(JPEGDIR)/jchuff.$(OBJSUFF) \
201 $(JPEGDIR)/jcphuff.$(OBJSUFF) \
202 $(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
203 $(JPEGDIR)/jfdctfst.$(OBJSUFF) \
204 $(JPEGDIR)/jfdctflt.$(OBJSUFF) \
205 $(JPEGDIR)/jfdctint.$(OBJSUFF) \
206 $(JPEGDIR)/jdapimin.$(OBJSUFF) \
207 $(JPEGDIR)/jdapistd.$(OBJSUFF) \
208 $(JPEGDIR)/jdtrans.$(OBJSUFF) \
209 $(JPEGDIR)/jdatasrc.$(OBJSUFF) \
210 $(JPEGDIR)/jdmaster.$(OBJSUFF) \
211 $(JPEGDIR)/jdinput.$(OBJSUFF) \
212 $(JPEGDIR)/jdmarker.$(OBJSUFF) \
213 $(JPEGDIR)/jdhuff.$(OBJSUFF) \
214 $(JPEGDIR)/jdphuff.$(OBJSUFF) \
215 $(JPEGDIR)/jdmainct.$(OBJSUFF) \
216 $(JPEGDIR)/jdcoefct.$(OBJSUFF) \
217 $(JPEGDIR)/jdpostct.$(OBJSUFF) \
218 $(JPEGDIR)/jddctmgr.$(OBJSUFF) \
219 $(JPEGDIR)/jidctfst.$(OBJSUFF) \
220 $(JPEGDIR)/jidctflt.$(OBJSUFF) \
221 $(JPEGDIR)/jidctint.$(OBJSUFF) \
222 $(JPEGDIR)/jidctred.$(OBJSUFF) \
223 $(JPEGDIR)/jdsample.$(OBJSUFF) \
224 $(JPEGDIR)/jdcolor.$(OBJSUFF) \
225 $(JPEGDIR)/jquant1.$(OBJSUFF) \
226 $(JPEGDIR)/jquant2.$(OBJSUFF) \
227 $(JPEGDIR)/jdmerge.$(OBJSUFF)
228
229 OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
230 $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
231
232 all: $(OBJECTS) $(WXLIB)
233
234 $(WXLIB): $(OBJECTS) $(EXTRAOBJS)
235 ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
236 $(RANLIB) $@
237
238 $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
239
240 $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
241 $(CCLEX) -c $(CFLAGS) -DNO_CONFIGURE -o $@ $(COMMDIR)/y_tab.c
242
243
244 $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
245 $(LEX) -o $(COMMDIR)/lex.yy.c $(COMMDIR)/lexer.l
246 sed -e "s/BUFSIZ/5000/g" < $(COMMDIR)/lex.yy.c | \
247 sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
248 sed -e "s/YYLMAX 200/YYLMAX 5000/g" > $(COMMDIR)/lex_yy.c
249 rm -f $(COMMDIR)/lex.yy.c
250
251 # Replace yacc with bison if you run into compilation
252 # problems with y_tab.c.
253 $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
254 $(YACC) $(COMMDIR)/parser.y
255 mv y.tab.c $(COMMDIR)/y_tab.c
256
257 clean:
258 rm -f $(GTKDIR)/*.$(OBJSUFF)
259 rm -f $(COMMDIR)/y_tab.c
260 rm -f $(COMMDIR)/lex_yy.c
261 rm -f $(COMMDIR)/*.$(OBJSUFF)
262 rm -f $(GENDIR)/*.$(OBJSUFF)
263 rm -f $(PNGDIR)/*.$(OBJSUFF)
264 rm -f $(ZLIBDIR)/*.$(OBJSUFF)
265 rm -f $(JPEGDIR)/*.$(OBJSUFF)
266 rm -f $(UNIXDIR)/*.$(OBJSUFF)
267 rm -f $(HTMLDIR)/*.$(OBJSUFF)
268 rm -f $(WXWIN)/lib/libwx_$(GUI).a
269
270 cleanall: clean
271
272 MFTYPE=gnu
273 makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(GUI)_$(MFTYPE).t
274 cd $(WXWIN)\distrib\msw\tmake
275 tmake -t $(GUI)_$(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
276 copy makefile.$(MFTYPE) $(WXWIN)\src\$(GUI)