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)\b/ ) {
20 next unless $file =~ /^dirdlgg\./;
23 $file =~ s/cp?p?$/\$(OBJSUFF)/;
24 $project{"WXGENERICOBJS"} .= '$(GENDIR)\\' . $file . " "
27 foreach $file (sort keys %wxCommon) {
28 #! socket files don't compile under Win16 currently
29 next if $wxCommon{$file} =~ /\b(32|S)\b/;
31 #! needs extra files (sql*.h) so not compiled by default.
32 next if $file =~ /^odbc\./;
34 $file =~ s/cp?p?$/\$(OBJSUFF)/;
35 $project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
38 foreach $file (sort keys %wxMSW) {
39 #! Mingw32 doesn't have the OLE headers and has some troubles with
41 next if $wxMSW{$file} =~ /\b(O|S|16)\b/;
43 $file =~ s/cp?p?$/\$(OBJSUFF)/;
44 $project{"WXMSWOBJS"} .= $file . " "
48 # This file was automatically generated by tmake at #$ Now()
49 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
53 # Author: Julian Smart
56 # Copyright:(c) 1993, AIAI, University of Edinburgh
58 # "@(#)makefile.unx 1.2 5/9/94"
60 # Makefile for libwx.a
62 # Replace this with your own path if necessary
65 # All common UNIX compiler flags and options are now in
66 # this central makefile.
67 include $(WXDIR)/src/makeg95.env
69 # IMPORTANT: if you want to link in subsidiary libraries,
70 # required for some optional parts of wxWindows, you must
71 # set EXTRATARGETS and EXTRAOBJS to match the settings in wx_setup.h.
72 # Having done this, you won't have to worry about linking them
73 # into each application.
75 # Here's the full list.
76 # prologio: Required if using the wxWindows resource facility
77 # USE_WX_RESOURCES should be 1
78 # xmgauge: Gauge class (required for Motif only)
79 # USE_GAUGE should be 1
80 # xpm: XPM pixmap support
81 # USE_XPM_IN_X should be 1
82 # wxstring: string class
83 # USE_GNU_WXSTRING should be 1
85 # Unfortunately, 'ar' doesn't like combining objects and libraries,
86 # so we must identify all the objects from the subordinate libraries. Yuck!
87 XPMSRC=../../contrib/wxxpm/objects$(GUISUFFIX)
88 XPMOBJS=$(XPMSRC)/crbuffri.$(OBJSUFF) $(XPMSRC)/crbuffrp.$(OBJSUFF) $(XPMSRC)/crdatfri.$(OBJSUFF) $(XPMSRC)/crdatfrp.$(OBJSUFF)\
89 $(XPMSRC)/create.$(OBJSUFF) $(XPMSRC)/crifrbuf.$(OBJSUFF) $(XPMSRC)/crifrdat.$(OBJSUFF) $(XPMSRC)/crpfrbuf.$(OBJSUFF) $(XPMSRC)/crpfrdat.$(OBJSUFF)\
90 $(XPMSRC)/data.$(OBJSUFF) $(XPMSRC)/hashtab.$(OBJSUFF) $(XPMSRC)/misc.$(OBJSUFF) $(XPMSRC)/parse.$(OBJSUFF) $(XPMSRC)/rdftodat.$(OBJSUFF)\
91 $(XPMSRC)/rdftoi.$(OBJSUFF) $(XPMSRC)/rdftop.$(OBJSUFF) $(XPMSRC)/rgb.$(OBJSUFF) $(XPMSRC)/scan.$(OBJSUFF) $(XPMSRC)/simx.$(OBJSUFF)\
92 $(XPMSRC)/wrffrdat.$(OBJSUFF) $(XPMSRC)/wrffri.$(OBJSUFF) $(XPMSRC)/wrffrp.$(OBJSUFF)
94 # Subordinate library possibilities
104 DOCDIR = $(WXDIR)\docs
106 GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
109 $(COMMDIR)/y_tab.$(OBJSUFF) \
110 #$ ExpandList("WXCOMMONOBJS");
112 MSWOBJS = #$ ExpandList("WXMSWOBJS");
114 XPMOBJECTS = $(XPMDIR)/crbuffri.o\
115 $(XPMDIR)/crdatfri.o\
116 $(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
117 $(XPMDIR)/crifrdat.o\
119 $(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
120 $(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
122 $(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
123 $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
124 $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
126 OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) # $(XPMOBJECTS)
128 all: $(OBJECTS) $(WXLIB)
131 cd $(WXDIR)/src/common; $(MAKE) -f makefile.g95 GUI=$(GUI) GUISUFFIX=$(GUISUFFIX) CC=$(CC)\
132 OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)'
135 $(WXLIB): $(OBJECTS) $(EXTRAOBJS)
136 ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
139 $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
141 $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
142 $(CCLEX) -c $(CPPFLAGS) -o $@ $(COMMDIR)/y_tab.c
144 # Replace lex with flex if you run into compilation
145 # problems with lex_yy.c. See also note about LEX_SCANNER
147 $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
148 $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
150 # Try one of these if the above line doesn't work.
151 # Alternative syntax (1)
152 # $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
153 # Alternative syntax (2)
154 # $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
156 # sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
157 # sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
158 # sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
161 # Replace yacc with bison if you run into compilation
162 # problems with y_tab.c.
164 $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
165 $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
167 # If you use e.g. gcc on Unix, uncomment these lines
168 # and comment out the above.
170 # $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
171 # $(YACC) $(COMMDIR)/parser.y
172 # mv y.tab.c $(COMMDIR)/y_tab.c
176 cd $(WXDIR)/utils/rcparser/src; $(MAKE) -f makefile.g95
180 cd $(WXDIR)/utils/rcparser/src; $(MAKE) -f makefile.g95 clean
184 rm -f $(OBJECTS) $(EXTRAOBJS) ../common/y_tab.c ../common/lex_yy.c $(WXDIR)/lib/libwx$(GUISUFFIX).a core