| 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 | |
| 14 | .EXTENSIONS: |
| 15 | .EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def |
| 16 | |
| 17 | #WXDIR = d:\wx2\wxwind~1 |
| 18 | WXDIR = $(%WXWIN) |
| 19 | WXINC = $(WXDIR)\include |
| 20 | |
| 21 | # Suffixes |
| 22 | OBJSUFF=obj |
| 23 | SRCSUFF=cpp |
| 24 | |
| 25 | WXDEBUG=0 |
| 26 | |
| 27 | !ifneq NOPRECOMP 1 |
| 28 | PRECOMP = /fh=$(WXDIR)\src\msw\watcom.pch |
| 29 | !endif |
| 30 | |
| 31 | !ifeq WXDEBUG 1 |
| 32 | DEBUGFLAGS = /D__WXDEBUG__ /o1 |
| 33 | DEBUGINFO = debug all |
| 34 | !else |
| 35 | DEBUGFLAGS = |
| 36 | DEBUGINFO = |
| 37 | !endif |
| 38 | |
| 39 | RC = wrc |
| 40 | |
| 41 | LEVEL = 386 |
| 42 | CCC = wpp$(LEVEL) |
| 43 | CC = wcc$(LEVEL) |
| 44 | OS_TARGET = nt_win |
| 45 | MODEL = |
| 46 | # If you use win95, assumptions will be made about Win95 icon format etc. |
| 47 | # so nt_win is probably better for simultaneous Win32s/Win95/NT operation. |
| 48 | LINKOPTION = nt_win # win95 |
| 49 | BINDCOMMAND = wrc |
| 50 | WATLIBDIR = $(WATCOMDIR)\lib386\nt |
| 51 | MINDATA = |
| 52 | MAXDATA = |
| 53 | STACK = option stack=64k |
| 54 | LIBS = $(WXDIR)\lib\wx.lib $(WXDIR)\lib\regex.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\png.lib $(WXDIR)\lib\tiff.lib $(WXDIR)\lib\jpeg.lib & |
| 55 | $(WATLIBDIR)\comctl32.lib $(WATLIBDIR)\comdlg32.lib & |
| 56 | $(WATLIBDIR)\ole32.lib $(WATLIBDIR)\oleaut32.lib $(WATLIBDIR)\opengl32.lib & |
| 57 | $(WATLIBDIR)\uuid.lib $(WXDIR)\lib\watcom\odbc32.lib |
| 58 | IFLAGS = -i=$(WXINC) -i=$(WXDIR)\contrib\include -i=$(%watcom)\h;$(%watcom)\h\nt;$(WXDIR)\src\regex;$(WXDIR)\src\png;$(WXDIR)\src\zlib;$(WXDIR)\src\jpeg;$(WXDIR)\src\tiff;$(WXDIR)\include\wx\msw\gnuwin32 |
| 59 | RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include /i$(WXDIR)\contrib\include |
| 60 | RESFLAGS2 = -R $(name) /i$(WXDIR)\include /i$(WXDIR)\contrib\include |
| 61 | |
| 62 | # Here are some possible optimization flags: |
| 63 | # /5r Pentium timings |
| 64 | # /fp5 /fpi87 Inline 80x87 instructions optimized for Pentium: coprocessor must be present |
| 65 | # /ox Standard optimizations |
| 66 | # /or Reordering for Pentium timings (included in /ox) |
| 67 | # The Watcom-recommended flags for optimum Pentium speed are: |
| 68 | # /oneatx /zp4 /5 /fpi87 /fp5 |
| 69 | |
| 70 | OPTFLAGS=/ox /5r |
| 71 | |
| 72 | # /d1 for line numbers only: anything else produces an enormous wx32.lib |
| 73 | # |
| 74 | # NB: /bm switch is needed for thread-safe runtime, if you don't use |
| 75 | # wxThread you may remove it |
| 76 | CPPFLAGS = /bt=nt /w1 /DWIN32 /bm /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) $(DEBUGFLAGS) /d__WXMSW__ $(EXTRACPPFLAGS) # /d__WATCOMC__ |
| 77 | |
| 78 | .cpp.obj: # $< # .AUTODEPEND |
| 79 | *$(CCC) $(CPPFLAGS) $(IFLAGS) $< |
| 80 | |
| 81 | .c.obj: # $< # .AUTODEPEND |
| 82 | *$(CC) $(CPPFLAGS) $(IFLAGS) $< |
| 83 | |
| 84 | # This doesn't work for wcc |
| 85 | # %create tmp.lbc |
| 86 | # @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $< |
| 87 | # echo $< |
| 88 | # $(CC) @tmp.lbc |
| 89 | |
| 90 | dummy: .SYMBOLIC |
| 91 | @echo Please give a target for wxWin makefiles: the usual one is 'all'. |
| 92 | |
| 93 | erasepch: .SYMBOLIC |
| 94 | -erase $(WXDIR)\src\msw\watcom.pch |