1 #!#############################################################################
3 #! Purpose: tmake template file from which makefile.g95 is generated by running
4 #! tmake -t g95 wxwin.pro -o makefile.g95
5 #! Author: Vadim Zeitlin
8 #!#############################################################################
11 #! include the code which parses filelist.txt file and initializes
12 #! %wxCommon, %wxGeneric and %wxMSW hashes.
13 IncludeTemplate("filelist.t");
15 #! now transform these hashes into $project tags
16 foreach $file (sort keys %wxGeneric) {
17 #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
18 #! so take the generic version
19 if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) {
20 next unless $file =~ /^dirdlgg\./;
23 $file =~ s/cp?p?$/\$(OBJSUFF)/;
24 $project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
27 foreach $file (sort keys %wxCommon) {
28 next if $wxCommon{$file} =~ /\b(16)\b/;
30 #! needs extra files (sql*.h) so not compiled by default.
31 next if $file =~ /^odbc\./;
33 $file =~ s/cp?p?$/\$(OBJSUFF)/;
34 $project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
37 foreach $file (sort keys %wxMSW) {
38 #! Mingw32 doesn't have the OLE headers and has some troubles with
40 next if $wxMSW{$file} =~ /\b(O|16)\b/;
42 #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
43 next if $file =~ /^dirdlg\./;
45 $file =~ s/cp?p?$/\$(OBJSUFF)/;
46 $project{"WXMSWOBJS"} .= $file . " "
50 # This file was automatically generated by tmake at #$ Now()
51 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
55 # Author: Julian Smart
58 # Copyright:(c) 1993, AIAI, University of Edinburgh
60 # "@(#)makefile.unx 1.2 5/9/94"
62 # Makefile for libwx.a
64 # Replace this with your own path if necessary
67 # All common UNIX compiler flags and options are now in
68 # this central makefile.
69 include $(WXDIR)/src/makeg95.env
71 # IMPORTANT: if you want to link in subsidiary libraries,
72 # required for some optional parts of wxWindows, you must
73 # set EXTRATARGETS and EXTRAOBJS to match the settings in wx_setup.h.
74 # Having done this, you won't have to worry about linking them
75 # into each application.
77 # Here's the full list.
78 # prologio: Required if using the wxWindows resource facility
79 # USE_WX_RESOURCES should be 1
80 # xmgauge: Gauge class (required for Motif only)
81 # USE_GAUGE should be 1
82 # xpm: XPM pixmap support
83 # USE_XPM_IN_X should be 1
84 # wxstring: string class
85 # USE_GNU_WXSTRING should be 1
87 # Unfortunately, 'ar' doesn't like combining objects and libraries,
88 # so we must identify all the objects from the subordinate libraries. Yuck!
89 XPMSRC=../../contrib/wxxpm/objects$(GUISUFFIX)
90 XPMOBJS=$(XPMSRC)/crbuffri.$(OBJSUFF) $(XPMSRC)/crbuffrp.$(OBJSUFF) $(XPMSRC)/crdatfri.$(OBJSUFF) $(XPMSRC)/crdatfrp.$(OBJSUFF)\
91 $(XPMSRC)/create.$(OBJSUFF) $(XPMSRC)/crifrbuf.$(OBJSUFF) $(XPMSRC)/crifrdat.$(OBJSUFF) $(XPMSRC)/crpfrbuf.$(OBJSUFF) $(XPMSRC)/crpfrdat.$(OBJSUFF)\
92 $(XPMSRC)/data.$(OBJSUFF) $(XPMSRC)/hashtab.$(OBJSUFF) $(XPMSRC)/misc.$(OBJSUFF) $(XPMSRC)/parse.$(OBJSUFF) $(XPMSRC)/rdftodat.$(OBJSUFF)\
93 $(XPMSRC)/rdftoi.$(OBJSUFF) $(XPMSRC)/rdftop.$(OBJSUFF) $(XPMSRC)/rgb.$(OBJSUFF) $(XPMSRC)/scan.$(OBJSUFF) $(XPMSRC)/simx.$(OBJSUFF)\
94 $(XPMSRC)/wrffrdat.$(OBJSUFF) $(XPMSRC)/wrffri.$(OBJSUFF) $(XPMSRC)/wrffrp.$(OBJSUFF)
96 # Subordinate library possibilities
106 DOCDIR = $(WXDIR)\docs
108 GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
111 $(COMMDIR)/y_tab.$(OBJSUFF) \
112 #$ ExpandList("WXCOMMONOBJS");
114 MSWOBJS = #$ ExpandList("WXMSWOBJS");
116 XPMOBJECTS = $(XPMDIR)/crbuffri.o\
117 $(XPMDIR)/crdatfri.o\
118 $(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
119 $(XPMDIR)/crifrdat.o\
121 $(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
122 $(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
124 $(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
125 $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
126 $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
128 OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) # $(XPMOBJECTS)
130 all: $(OBJECTS) $(WXLIB)
133 cd $(WXDIR)/src/common; $(MAKE) -f makefile.g95 GUI=$(GUI) GUISUFFIX=$(GUISUFFIX) CC=$(CC)\
134 OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)'
137 $(WXLIB): $(OBJECTS) $(EXTRAOBJS)
138 ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
141 $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
143 $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
144 $(CCLEX) -c $(CPPFLAGS) -o $@ $(COMMDIR)/y_tab.c
146 # Replace lex with flex if you run into compilation
147 # problems with lex_yy.c. See also note about LEX_SCANNER
149 $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
150 $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
152 # Try one of these if the above line doesn't work.
153 # Alternative syntax (1)
154 # $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
155 # Alternative syntax (2)
156 # $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
158 # sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
159 # sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
160 # sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
163 # Replace yacc with bison if you run into compilation
164 # problems with y_tab.c.
166 $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
167 $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
169 # If you use e.g. gcc on Unix, uncomment these lines
170 # and comment out the above.
172 # $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
173 # $(YACC) $(COMMDIR)/parser.y
174 # mv y.tab.c $(COMMDIR)/y_tab.c
178 cd $(WXDIR)/utils/rcparser/src; $(MAKE) -f makefile.g95
182 cd $(WXDIR)/utils/rcparser/src; $(MAKE) -f makefile.g95 clean
187 erase ../common/y_tab.c
188 erase ../common/lex_yy.c
189 erase $(WXDIR)/lib/libwx$(GUISUFFIX).a