]> git.saurik.com Git - wxWidgets.git/blob - distrib/msw/tmake/sc.t
glibc's vswprintf doesn't nul terminate on truncation.
[wxWidgets.git] / distrib / msw / tmake / sc.t
1 #!#############################################################################
2 #! File: sc.t
3 #! Purpose: tmake template file from which makefile.sc is generated by running
4 #! tmake -t sc wxwin.pro -o makefile.sc
5 #! Author: Vadim Zeitlin
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 and %wxMSW hashes.
13 IncludeTemplate("filelist.t");
14
15 #! now transform these hashes into $project tags
16 foreach $file (sort keys %wxGeneric) {
17 my $tag = "";
18 if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
19 $tag = "WXNONESSENTIALOBJS";
20 }
21 else {
22 $tag = "WXGENERICOBJS";
23 }
24
25 $file =~ s/cp?p?$/obj/;
26 $project{$tag} .= '$(GENDIR)\\' . $file . " "
27 }
28
29 foreach $file (sort keys %wxHTML) {
30 next if $wxHTML{$file} =~ /\b16\b/;
31
32 $file =~ s/cp?p?$/obj/;
33 $project{"WXHTMLOBJS"} .= '$(HTMLDIR)\\' . $file . " "
34 }
35
36 foreach $file (sort keys %wxCommon) {
37 next if $wxCommon{$file} =~ /\b(16|U)\b/;
38
39 $file =~ s/cp?p?$/obj/;
40 $project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
41 }
42
43 foreach $file (sort keys %wxMSW) {
44 #! these files don't compile with SC++ 6
45 #! next if $file =~ /^(joystick|pnghand)\./;
46
47 next if $wxMSW{$file} =~ /\b16\b/;
48
49 my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
50 $file =~ s/cp?p?$/obj/;
51 $project{"WXMSWOBJS"} .= '$(MSWDIR)\\';
52 $project{"WXMSWOBJS"} .= 'ole\\' if $isOleObj;
53 $project{"WXMSWOBJS"} .= $file . " "
54 }
55 #$}
56
57 # This file was automatically generated by tmake
58 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
59
60 # Digital mars makefile
61 # was Symantec C++ makefile for the msw objects
62 #
63 # called from src\makefile.sc
64
65 # configuration section (see src\makefile.sc) ###########################
66
67 WXDIR = ..\..
68
69 include ..\makesc.env
70
71 DEBUG=0
72
73 LIBTARGET = $(LIBDIR)\wx$(SC_SUFFIX).lib
74
75 OPTIONS=
76
77 # end of configuration section ##########################################
78
79 GENDIR=$(WXDIR)\src\generic
80 COMMDIR=$(WXDIR)\src\common
81 HTMLDIR=$(WXDIR)\src\html
82 OLEDIR=ole
83 MSWDIR=$(WXDIR)\src\msw
84
85 GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
86
87 COMMONOBJS = #$ ExpandList("WXCOMMONOBJS");
88
89 HTMLOBJS = #$ ExpandList ("WXHTMLOBJS");
90
91 MSWOBJS = #$ ExpandList("WXMSWOBJS");
92
93 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
94 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
95
96 all: MAKEARCHDIR MAKELIBS PCH $(LIBTARGET) zlib png jpeg tiff regex
97
98 MAKEARCHDIR:
99 @if not exist $(MSWINCDIR)\setup.h copy $(MSWINCDIR)\setup0.h $(MSWINCDIR)\setup.h
100 @if not exist $(ARCHINCDIR)\wx\setup.h mkdir $(ARCHINCDIR)
101 @if not exist $(ARCHINCDIR)\wx\setup.h mkdir $(ARCHINCDIR)\wx
102 @if not exist $(ARCHINCDIR)\wx\setup.h copy $(MSWINCDIR)\setup.h $(ARCHINCDIR)\wx\setup.h
103 @if not exist $(WXOUTDIR)\nul mkdir $(WXOUTDIR)
104
105 #build our own copies of missing libraries
106 MAKELIBS:
107 implib /s $(LIBDIR)\$(SHELLLIB) $(LIBDIR)\$(SC_SUFFIX)\$(SHELLLIB).def
108 implib /s $(LIBDIR)\$(WINSOCKLIB) $(LIBDIR)\$(SC_SUFFIX)\$(WINSOCKLIB).def
109
110 $(LIBTARGET): $(OBJECTS)
111 -del $(LIBTARGET)
112 *lib /PAGESIZE:512 $(LIBTARGET) y $(OBJECTS), nul;
113
114 clean: clean_msw clean_zlib clean_png clean_jpeg clean_tiff clean_regex clean_pch
115
116 clean_msw:
117 -del $(COMMDIR)\*.obj
118 -del $(MSWDIR)\*.obj
119 -del $(GENDIR)\*.obj
120 -del $(HTMLDIR)\*.obj
121 -del *.obj
122 -del *.sym
123 -del ole\*.obj
124 -del $(LIBTARGET)
125
126 PCH: $(INCDIR)\wx\wxprec.h
127 dmc $(CPPFLAGS) $(CFLAGS) $(INCLUDE) -HF$(WXOUTDIR)\wxprec.SYM -o$(WXOUTDIR)\wxprec.PCO $(INCDIR)\wx\wxprec.h
128
129 clean_pch:
130 del $(WXOUTDIR)\*.sym
131 del $(WXOUTDIR)\*.PCO
132
133
134 png:
135 make -f $(WXDIR)\src\png\makefile.sc FINAL=$(FINAL)
136
137 clean_png:
138 make -f $(WXDIR)\src\png\makefile.sc clean
139
140 zlib:
141 make -f $(WXDIR)\src\zlib\makefile.sc FINAL=$(FINAL)
142
143 clean_zlib:
144 make -f $(WXDIR)\src\zlib\makefile.sc clean
145
146 jpeg:
147 make -f $(WXDIR)\src\jpeg\makefile.sc FINAL=$(FINAL)
148
149 clean_jpeg:
150 make -f $(WXDIR)\src\jpeg\makefile.sc clean
151
152 regex:
153 make -f $(WXDIR)\src\regex\makefile.sc FINAL=$(FINAL)
154
155 clean_regex:
156 make -f $(WXDIR)\src\regex\makefile.sc clean
157
158 tiff:
159 make -f $(WXDIR)\src\tiff\makefile.sc FINAL=$(FINAL)
160
161 clean_tiff:
162 make -f $(WXDIR)\src\tiff\makefile.sc clean
163
164 MFTYPE=sc
165 self : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
166 perl -x$(WXWIN)\distrib\msw\tmake -S tmake -t$(MFTYPE) wxwin.pro -o $(WXWIN)\distrib\msw\tmake\makefile.sc
167 copy $(WXWIN)\distrib\msw\tmake\makefile.$(MFTYPE) $(WXWIN)\src\msw