1 #!#############################################################################
3 #! Purpose: tmake template file from which makebase.b32 is generated by running
4 #! tmake -t b32 wxwin.pro
5 #! Author: Michael Fielding
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 %wxCommon) {
17 next if $wxCommon{$file} !~ /\bB\b/;
19 $isCFile = $file =~ /\.c$/;
20 $file =~ s/cp?p?$/obj/;
21 $obj = "\$(MSWDIR)\\" . $file . " ";
22 $project{"WXCOMMONOBJS"} .= $obj;
23 $project{"WXCOBJS"} .= $obj if $isCFile;
26 foreach $file (sort keys %wxMSW) {
27 next if $wxMSW{$file} !~ /\bB\b/;
29 $isCFile = $file =~ /\.c$/;
31 my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
32 $file =~ s/cp?p?$/obj/;
33 my $obj = "\$(MSWDIR)\\" . $file . " ";
35 $project{"WXMSWOBJS"} .= $obj;
37 #! remember that this file is in ole subdir
38 $project{"WXOLEOBJS"} .= $obj;
40 $project{"WXCOBJS"} .= $obj if $isCFile;
43 foreach $file (sort keys %wxBase) {
44 $isCFile = $file =~ /\.c$/;
45 $file =~ s/cp?p?$/obj/;
46 $project{"WXCOMMONOBJS"} .= "\$(MSWDIR)\\" . $file . " ";
47 $project{"WXCOBJS"} .= $obj if $isCFile;
53 # This file was automatically generated by tmake
54 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
58 # Author: Julian Smart
60 # Updated: Michael Fielding, 2002
65 # Makefile : Builds wxWindows library wxbase.lib for MS Windows,
66 # and Borland C++ (32-bit).
68 # BCCDIR now defined in ../makeb32.env
71 !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
75 THISDIR = $(WXDIR)\src\msw
77 # Set all these to 1 if you want to build a dynamic library
85 !include $(WXDIR)\src\makeb32.env
88 PERIPH_TARGET=zlib png jpeg tiff regex $(PERIPH_TARGET)
89 PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg clean_tiff clean_regex $(PERIPH_CLEAN_TARGET)
95 LIBS= cw32mti import32 ole2w32 odbc32 zlib winpng jpeg tiff regex
106 DOCDIR = $(WXDIR)\docs
109 $(MSWDIR)\y_tab.obj \
110 #$ ExpandList("WXCOMMONOBJS");
112 MSWOBJS = #$ ExpandList("WXMSWOBJS");
114 OBJECTS = $(COMMONOBJS) $(MSWOBJS)
118 wx: $(ARCHINCDIR)\wx makesetuph makearchsetuph $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
122 # Copy the in-CVS setup0.h to setup.h if necessary
124 cd $(WXDIR)\include\wx\msw
125 if not exist setup.h copy setup0.h setup.h
128 # Copy include\wx\msw\setup.h to the architecture-specific location
130 copy $(WXDIR)\include\wx\msw\setup.h $(ARCHSETUPH)
135 -mkdir $(ARCHINCDIR)\wx
140 $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
142 tlib "$(WXLIB)" /P1024 @&&!
143 +$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
148 $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
151 $(LINK) $(LINK_FLAGS) /L$(WXLIBDIR);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk /v @&&!
153 $(WXLIBDIR)\$(WXLIBNAME)
155 $(PERIPH_LIBS) $(LIBS)
158 implib -c $(LIBTARGET) $(WXLIBDIR)\$(WXLIBNAME).dll
161 dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
162 dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h version.res
165 brc32 -r -i$(WXDIR)\include\ $(MSWDIR)\version.rc
167 $(MSWDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
170 # $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
173 $(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
174 copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
176 $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
177 copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
181 $_ = $project{"WXMSWOBJS"};
185 if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
186 $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
188 $text .= $_ . "\n\n";
192 ########################################################
193 # Common objects (always compiled)
196 $_ = $project{"WXCOMMONOBJS"};
200 $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
203 $text .= $_ . "\n\n";
210 ${MAKE} -f makefile.b32
215 ${MAKE} -f makefile.b32
220 ${MAKE} -f makefile.b32 all_execs
225 ${MAKE} -f makefile.b32 wxUSE_GUI=0
230 ${MAKE} -f makefile.b32 clean
235 ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
240 ${MAKE} -f makefile.b32 clean
245 ${MAKE} -f makefile.b32 wxUSE_GUI=0
250 ${MAKE} -f makefile.b32 clean
254 cd $(WXDIR)\src\regex
255 ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
259 cd $(WXDIR)\src\regex
260 ${MAKE} -f makefile.b32 clean
265 ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
270 ${MAKE} -f makefile.b32 clean
276 -H=$(WXDIR)\src\msw\wx32.csm
284 -w-hid # virtual function A hides virtual function B
288 -I$(ARCHINCDIR);$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/tiff;$(THISDIR)
289 -I$(WXDIR)\include\wx\msw\gnuwin32
291 -L$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
301 clean: $(PERIPH_CLEAN_TARGET)
302 -erase $(WXLIBDIR)\wx.tds
303 -erase $(WXLIBDIR)\wx.il?
308 -erase ..\common\y_tab.c
309 -erase ..\common\lex_yy.c
314 cd $(WXWIN)\distrib\msw\tmake
315 tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
316 copy makefile.$(MFTYPE) $(WXWIN)\src\msw