]>
Commit | Line | Data |
---|---|---|
1 | # File: makewat.env | |
2 | # Purpose: Watcom environments for wxWindows makefiles. | |
3 | # Author: Julian Smart and others | |
4 | # | |
5 | # The main things to change are: | |
6 | # | |
7 | # WATCOM: set to where the compiler is installed | |
8 | # WXDIR: set to where the wxWindows is installed | |
9 | # MODE: set to windows [16 bit windows], nt [win32s], or win386 [32-bit non-WIN32] | |
10 | ||
11 | FINAL=0 | |
12 | WATCOMDIR=$(%WATCOM) | |
13 | #.EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def | |
14 | ||
15 | # Set this to win386 if compiling under WIN386 mode, or | |
16 | # to windows for normal 16-bit Windows, nt if compiling for WIN32s/NT | |
17 | MODE= nt # windows | |
18 | ||
19 | WXDIR = c:\wx | |
20 | WXINC = $(WXDIR)\include\msw | |
21 | WXBASEINC = $(WXDIR)\include\base | |
22 | ||
23 | # Suffixes | |
24 | OBJSUFF=obj | |
25 | SRCSUFF=cpp | |
26 | ||
27 | WXDEBUG=0 | |
28 | ||
29 | !ifneq NOPRECOMP 1 | |
30 | PRECOMP = /fh=$(WXDIR)\src\msw\watcom.pch | |
31 | !endif | |
32 | ||
33 | RC = wrc | |
34 | ||
35 | !ifeq MODE win386 | |
36 | ||
37 | ##### WIN386 OPTIONS | |
38 | ||
39 | # Set LEVEL to 386 if using 32-bit compilation | |
40 | LEVEL = 386 | |
41 | CCC = wpp$(LEVEL) | |
42 | CC = wcc$(LEVEL) | |
43 | OS_TARGET = win386 | |
44 | MODEL = | |
45 | LINKOPTION = win386 | |
46 | BINDCOMMAND = wbind | |
47 | WATLIBDIR = $(WATCOMDIR)\lib386\win | |
48 | MINDATA = option mindata=100K | |
49 | MAXDATA = option maxdata=100K | |
50 | STACK = option stack=64k | |
51 | EXTRALIBS = $(WXDIR)\contrib\ctl3d\ctl3d32.obj | |
52 | IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\win | |
53 | RESFLAGS1 = -r -bt=windows /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa | |
54 | RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa | |
55 | DEBUGINFO = debug all | |
56 | ||
57 | #CPPFLAGS = /zw /w1 /zq /d2 /d__WIN386__ /zt4 $(MODEL) /d__WXMSW__ | |
58 | CPPFLAGS = /zw /w1 /zq /d1 /d__WIN386__ $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS) | |
59 | ||
60 | !endif | |
61 | #### END WIN386 MODE | |
62 | ||
63 | !ifeq MODE windows | |
64 | ||
65 | ##### 16-BIT WINDOWS OPTIONS | |
66 | ||
67 | # Set LEVEL to 386 if using 32-bit compilation | |
68 | LEVEL = | |
69 | CCC = wpp$(LEVEL) | |
70 | CC = wcc$(LEVEL) | |
71 | OS_TARGET = windows | |
72 | MODEL =/ml | |
73 | LINKOPTION = windows | |
74 | BINDCOMMAND = echo | |
75 | WATLIBDIR = $(WATCOMDIR)\lib286\win | |
76 | MINDATA = | |
77 | MAXDATA = | |
78 | STACK = | |
79 | EXTRALIBS=$(WATLIBDIR)\shell.lib $(WATLIBDIR)\ddeml.lib $(WATLIBDIR)\ctl3d.lib $(WATLIBDIR)\commdlg.lib $(WATLIBDIR)\mmsystem.lib | |
80 | IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa | |
81 | RESFLAGS1 = -r -bt=windows -i=$(WXINC) -i=$(WXDIR)\contrib\fafa | |
82 | RESFLAGS2 = -R | |
83 | DEBUGINFO = debug all | |
84 | ||
85 | #-i=$(WXDIR)\contrib\itsybits | |
86 | ||
87 | # Note: I've added the data threshold (/zt4) for 16-bit operation, | |
88 | # or we get link failure (TEXT segment overflow). Is this OK for | |
89 | # 32-bit mode also? -- JACS | |
90 | # An alternative might be /zc (put string literals in code segment). | |
91 | #CPPFLAGS = /zw /w1 /zq /d1 /zt4 $(MODEL) /d__WXMSW__ | |
92 | CPPFLAGS = /zw /w2 /zq /d1 $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS) | |
93 | ||
94 | !endif | |
95 | #### END WINDOWS MODE | |
96 | ||
97 | !ifeq MODE nt | |
98 | ||
99 | ##### NT OPTIONS | |
100 | ||
101 | LEVEL = 386 | |
102 | CCC = wpp$(LEVEL) | |
103 | CC = wcc$(LEVEL) | |
104 | OS_TARGET = nt_win | |
105 | MODEL = | |
106 | # If you use win95, assumptions will be made about Win95 icon format etc. | |
107 | # so nt_win is probably better for simultaneous Win32s/Win95/NT operation. | |
108 | LINKOPTION = nt_win # win95 | |
109 | BINDCOMMAND = wrc | |
110 | WATLIBDIR = $(WATCOMDIR)\lib386\nt | |
111 | MINDATA = | |
112 | MAXDATA = | |
113 | STACK = option stack=64k | |
114 | EXTRALIBS = $(WATLIBDIR)\ctl3d32.lib $(WATLIBDIR)\odbc32.lib | |
115 | IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\nt | |
116 | RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa | |
117 | RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa | |
118 | DEBUGINFO = debug all # Linking: comment out if operating in a non-debuggable environment | |
119 | ||
120 | #-i=$(WXDIR)\contrib\itsybits | |
121 | ||
122 | # Here are some possible optimization flags: | |
123 | # /5r Pentium timings | |
124 | # /fp5 /fpi87 Inline 80x87 instructions optimized for Pentium: coprocessor must be present | |
125 | # /ox Standard optimizations | |
126 | # /or Reordering for Pentium timings (included in /ox) | |
127 | # The Watcom-recommended flags for optimum Pentium speed are: | |
128 | # /oneatx /zp4 /5 /fpi87 /fp5 | |
129 | ||
130 | OPTFLAGS=/ox /5r # /DWXDEBUG=1 | |
131 | ||
132 | # /d1 for line numbers only: anything else produces an enormous wx32.lib | |
133 | CPPFLAGS = /bt=nt /w1 /D__WIN32__ /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) /d1 /d__WXMSW__ $(EXTRACPPFLAGS) | |
134 | ||
135 | !endif | |
136 | #### END NT MODE | |
137 | ||
138 | .cpp.obj: # $< # .AUTODEPEND | |
139 | *$(CCC) $(CPPFLAGS) $(IFLAGS) $< | |
140 | ||
141 | # %create tmp.lbc | |
142 | # @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $< | |
143 | # echo $< | |
144 | # $(CCC) @tmp.lbc | |
145 | ||
146 | .c.obj: # $< # .AUTODEPEND | |
147 | *$(CC) $(CPPFLAGS) $(IFLAGS) $< | |
148 | ||
149 | # This doesn't work for wcc | |
150 | # %create tmp.lbc | |
151 | # @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $< | |
152 | # echo $< | |
153 | # $(CC) @tmp.lbc | |
154 | ||
155 | dummy: .SYMBOLIC | |
156 | @echo Please give a target for wxWin makefiles: the usual one is 'all'. | |
157 | ||
158 | erasepch: .SYMBOLIC | |
159 | -erase $(WXDIR)\src\msw\watcom.pch |