#! File: bcc.t
#! Purpose: tmake template file from which makefile.bcc is generated by running
#! tmake -t bcc wxwin.pro -o makefile.bcc
+#!
+#! TODO:
+#! - resourc2.obj is not correctly generated (see list and target).
+#! - cpp is incorrectly substituted into filenames containing 'obj'
+#!
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#! needs extra files (sql*.h) so not compiled by default.
next if $file =~ /^odbc\./;
+ $isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
- $project{"WXCOMMONOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+ $obj = "\$(MSWDIR)\\" . $file . " ";
+ $project{"WXCOMMONOBJS"} .= $obj;
+ $project{"WXCOBJS"} .= $obj if $isCFile;
}
#! special hack for Borland in 16 bits needs this file
- $project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.cpp';
+ $project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.obj';
foreach $file (sort keys %wxMSW) {
#! don't take files not appropriate for 16-bit Windows
next if $wxMSW{$file} =~ /\b(32|O)\b/;
+ $isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
- $project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+ $obj = "\$(MSWDIR)\\" . $file . " ";
+ $project{"WXMSWOBJS"} .= $obj;
+ $project{"WXCOBJS"} .= $obj if $isCFile;
}
#$}
PERIPH_CLEAN_TARGET=
!if "$(USE_CTL3D)" == "1"
-PERIPH_LIBS=$(BCCDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
+PERIPH_LIBS=$(WXDIR)\lib\bcc16\ctl3dv2.lib $(PERIPH_LIBS)
!endif
!if "$(USE_XPM_IN_MSW)" == "1"
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(PERIPH_LIBS)
erase $(LIBTARGET)
- tlib $(LIBTARGET) /P1024 @&&!
-+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
+ tlib $(LIBTARGET) /P2048 @&&!
++$(COMMONOBJS:.obj =.obj +)\
++$(GENERICOBJS:.obj =.obj +)\
++$(MSWOBJS:.obj =.obj +)\
++$(PERIPH_LIBS:.lib =.lib +)
!
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
- s/obj/\$(SRCSUFF)/;
+ $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
+ s/obj$/$suffix/;
$text .= $_ . "\n\n";
}
#$}
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
+ $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/MSWDIR/COMMDIR/;
- s/obj/\$(SRCSUFF)/;
+ s/obj$/$suffix/;
$text .= $_ . "\n\n";
}
#$}
foreach (@objs) {
$text .= $_ . ": ";
s/MSWDIR/GENDIR/;
- s/obj/\$(SRCSUFF)/;
+ s/obj$/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
all_libs:
cd $(WXDIR)\src\msw
- make -f makefile.bcc ctl3d dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
+ make -f makefile.bcc dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
wxstring wxtree mfutils # wxxpm
all_contribs:
cd $(WXDIR)\src\msw
- make -f makefile.bcc ctl3d fafa wxstring itsy gauge # wxxpm
+ make -f makefile.bcc fafa wxstring itsy gauge # wxxpm
# CONTRIB
-ctl3d: $(CFG)
- cd $(WXDIR)\src\msw\ctl3d\borland
- make -f makefile.bcc -DCFG=$(CFG)
- cd $(WXDIR)\src\msw
-
wxxpm: $(CFG)
cd $(WXDIR)\src\xpm
make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
png: $(CFG)
cd $(WXDIR)\src\png
- make -f makefile.bcc
+ make -f makefile.bcc
cd $(WXDIR)\src\msw
clean_png:
-Fs-
-Vf
-Ff=4
--I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
+-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-I$(WXDIR)\include\wx\msw\gnuwin32
-L$(BCCDIR)\lib
-D__WXWIN__
cleanall: clean
+MFTYPE=bcc
+# Can't use this or we'll have to distribute all tmake files with wxWindows
+#makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
+
+self:
+ cd $(WXWIN)\distrib\msw\tmake
+ tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
+ copy makefile.$(MFTYPE) $(WXWIN)\src\msw