wxWidgets/src/makewat.env
1998-07-10 14:15:17 +00:00

160 lines
4.6 KiB
Bash

# File: makewat.env
# Purpose: Watcom environments for wxWindows makefiles.
# Author: Julian Smart and others
#
# The main things to change are:
#
# WATCOM: set to where the compiler is installed
# WXDIR: set to where the wxWindows is installed
# MODE: set to windows [16 bit windows], nt [win32s], or win386 [32-bit non-WIN32]
FINAL=0
WATCOMDIR=$(%WATCOM)
#.EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def
# Set this to win386 if compiling under WIN386 mode, or
# to windows for normal 16-bit Windows, nt if compiling for WIN32s/NT
MODE= nt # windows
WXDIR = c:\wx
WXINC = $(WXDIR)\include\msw
WXBASEINC = $(WXDIR)\include\base
# Suffixes
OBJSUFF=obj
SRCSUFF=cpp
WXDEBUG=0
!ifneq NOPRECOMP 1
PRECOMP = /fh=$(WXDIR)\src\msw\watcom.pch
!endif
RC = wrc
!ifeq MODE win386
##### WIN386 OPTIONS
# Set LEVEL to 386 if using 32-bit compilation
LEVEL = 386
CCC = wpp$(LEVEL)
CC = wcc$(LEVEL)
OS_TARGET = win386
MODEL =
LINKOPTION = win386
BINDCOMMAND = wbind
WATLIBDIR = $(WATCOMDIR)\lib386\win
MINDATA = option mindata=100K
MAXDATA = option maxdata=100K
STACK = option stack=64k
EXTRALIBS = $(WXDIR)\contrib\ctl3d\ctl3d32.obj
IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\win
RESFLAGS1 = -r -bt=windows /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa
RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa
DEBUGINFO = debug all
#CPPFLAGS = /zw /w1 /zq /d2 /d__WIN386__ /zt4 $(MODEL) /d__WXMSW__
CPPFLAGS = /zw /w1 /zq /d1 /d__WIN386__ $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS)
!endif
#### END WIN386 MODE
!ifeq MODE windows
##### 16-BIT WINDOWS OPTIONS
# Set LEVEL to 386 if using 32-bit compilation
LEVEL =
CCC = wpp$(LEVEL)
CC = wcc$(LEVEL)
OS_TARGET = windows
MODEL =/ml
LINKOPTION = windows
BINDCOMMAND = echo
WATLIBDIR = $(WATCOMDIR)\lib286\win
MINDATA =
MAXDATA =
STACK =
EXTRALIBS=$(WATLIBDIR)\shell.lib $(WATLIBDIR)\ddeml.lib $(WATLIBDIR)\ctl3d.lib $(WATLIBDIR)\commdlg.lib $(WATLIBDIR)\mmsystem.lib
IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa
RESFLAGS1 = -r -bt=windows -i=$(WXINC) -i=$(WXDIR)\contrib\fafa
RESFLAGS2 = -R
DEBUGINFO = debug all
#-i=$(WXDIR)\contrib\itsybits
# Note: I've added the data threshold (/zt4) for 16-bit operation,
# or we get link failure (TEXT segment overflow). Is this OK for
# 32-bit mode also? -- JACS
# An alternative might be /zc (put string literals in code segment).
#CPPFLAGS = /zw /w1 /zq /d1 /zt4 $(MODEL) /d__WXMSW__
CPPFLAGS = /zw /w2 /zq /d1 $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS)
!endif
#### END WINDOWS MODE
!ifeq MODE nt
##### NT OPTIONS
LEVEL = 386
CCC = wpp$(LEVEL)
CC = wcc$(LEVEL)
OS_TARGET = nt_win
MODEL =
# If you use win95, assumptions will be made about Win95 icon format etc.
# so nt_win is probably better for simultaneous Win32s/Win95/NT operation.
LINKOPTION = nt_win # win95
BINDCOMMAND = wrc
WATLIBDIR = $(WATCOMDIR)\lib386\nt
MINDATA =
MAXDATA =
STACK = option stack=64k
EXTRALIBS = $(WATLIBDIR)\ctl3d32.lib $(WATLIBDIR)\odbc32.lib
IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\nt
RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa
RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa
DEBUGINFO = debug all # Linking: comment out if operating in a non-debuggable environment
#-i=$(WXDIR)\contrib\itsybits
# Here are some possible optimization flags:
# /5r Pentium timings
# /fp5 /fpi87 Inline 80x87 instructions optimized for Pentium: coprocessor must be present
# /ox Standard optimizations
# /or Reordering for Pentium timings (included in /ox)
# The Watcom-recommended flags for optimum Pentium speed are:
# /oneatx /zp4 /5 /fpi87 /fp5
OPTFLAGS=/ox /5r # /DWXDEBUG=1
# /d1 for line numbers only: anything else produces an enormous wx32.lib
CPPFLAGS = /bt=nt /w1 /D__WIN32__ /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) /d1 /d__WXMSW__ $(EXTRACPPFLAGS)
!endif
#### END NT MODE
.cpp.obj: # $< # .AUTODEPEND
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
# %create tmp.lbc
# @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $<
# echo $<
# $(CCC) @tmp.lbc
.c.obj: # $< # .AUTODEPEND
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
# This doesn't work for wcc
# %create tmp.lbc
# @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $<
# echo $<
# $(CC) @tmp.lbc
dummy: .SYMBOLIC
@echo Please give a target for wxWin makefiles: the usual one is 'all'.
erasepch: .SYMBOLIC
-erase $(WXDIR)\src\msw\watcom.pch