source: trunk/include/odin32.mk@ 8045

Last change on this file since 8045 was 6910, checked in by bird, 24 years ago

NMAKE watcom config. Profile overrides debug mode.

File size: 4.0 KB
RevLine 
[6910]1# $Id: odin32.mk,v 1.7 2001-10-01 01:27:54 bird Exp $
[4718]2
3#
4# Odin32 API
5#
6# Create: cdmckill@novice.uwaterloo.ca, January 4th, 1998
7# Modified: phaller@gmx.net, May 27th, 1999
8# knut.stange.osmundsen@mynd.no, 2nd Dec. 2000
9#
10
11#
12# defines
13# DEBUG - build a debug version instead of release version
[4770]14# PROFILE - build a profile debug version instead of release version
[4718]15# CCENV:
16# VAC3 - use IBM VisualAge for C++ 3 compiler environment (default).
17# VAC36 - use IBM VisualAge for C++ 3.6.5 compiler environment.
18# WAT - use Watcom C/C++ v11.x compiler environment.
19# EMX - use GNU/EMX compiler environment. (don't work!)
20#
21
22#
23# Determin compiler environment
24#
25!ifndef __VERSION__
[6910]26NMAKE = 1
[4718]27! ifndef CCENV
28CCENV = VAC3
[6910]29MKFILE = $(CCENV)
[4718]30DIREXT =
31VAC3 = 1
32! else
33! if "$(CCENV)" == "VAC36"
34CCENV = VAC36
[6910]35MKFILE = $(CCENV)
[4718]36DIREXT = .vac36
37VAC36 = 1
38! else
[6105]39! if "$(CCENV)" == "EMX"
40CCENV = EMX
[6910]41MKFILE = $(CCENV)
[6105]42DIREXT = .emx
43EMXENV = 1 # Can't use EMX. (SET EMX will show you why)
44! else
[6910]45! if "$(CCENV)" == "WAT"
46# (nmake and Watcom)
47CCENV = WAT
48MKFILE = WATN
49DIREXT = .wat
50WAT = 1
51! else
[4718]52# default compiler
53CCENV = VAC3
[6910]54MKFILE = $(CCENV)
[4718]55DIREXT =
56VAC3 = 1
[6910]57! endif
[6105]58! endif
[4718]59! endif
60! endif
61!else
62# (wmake and Watcom)
[6910]63WMAKE = 1
[4718]64CCENV = WAT
[6910]65MKFILE = $(CCENV)
[4718]66DIREXT = .wat
67WAT = 1
68! if "$(%DEBUG)" != ""
69DEBUG = 1
70! endif
71!endif
72
73
74#
75# Target directories.
76# Both bin and lib directories are compiler dependent.
77#
78!ifndef ODIN32_BIN
[6910]79! ifdef DEBUG
80! ifndef PROFILE
[4718]81ODIN32_BIN = $(ODIN32_BIN_)\Debug$(DIREXT)
82ODIN32_BIN__= $(ODIN32_BIN_)\Debug$(DIREXT)
[6910]83! else
[6896]84ODIN32_BIN = $(ODIN32_BIN_)\Profile$(DIREXT)
85ODIN32_BIN__= $(ODIN32_BIN_)\Profile$(DIREXT)
[6910]86! endif
87! else
88! ifdef PROFILE
89ODIN32_BIN = $(ODIN32_BIN_)\Profile$(DIREXT)
90ODIN32_BIN__= $(ODIN32_BIN_)\Profile$(DIREXT)
91! else
[4718]92ODIN32_BIN = $(ODIN32_BIN_)\Release$(DIREXT)
93ODIN32_BIN__= $(ODIN32_BIN_)\Release$(DIREXT)
[6910]94! endif
95! endif
[4718]96!endif
[4770]97
[4718]98!ifndef ODIN32_LIB
[6910]99! ifdef DEBUG
100! ifndef PROFILE
[4718]101ODIN32_LIB = $(ODIN32_LIB_)\Debug$(DIREXT)
102ODIN32_LIB__= $(ODIN32_LIB_)\Debug$(DIREXT)
[6910]103! else
[6896]104ODIN32_LIB = $(ODIN32_LIB_)\Profile$(DIREXT)
105ODIN32_LIB__= $(ODIN32_LIB_)\Profile$(DIREXT)
[6910]106! endif
107! else
108! ifdef PROFILE
109ODIN32_LIB = $(ODIN32_LIB_)\Profile$(DIREXT)
110ODIN32_LIB__= $(ODIN32_LIB_)\Profile$(DIREXT)
111! else
[4718]112ODIN32_LIB = $(ODIN32_LIB_)\Release$(DIREXT)
113ODIN32_LIB__= $(ODIN32_LIB_)\Release$(DIREXT)
[6910]114! endif
115! endif
[4718]116!endif
[4770]117
[4718]118!ifndef OBJDIR
[6910]119! ifdef DEBUG
120! ifndef PROFILE
[4718]121OBJDIR = .\bin\Debug$(DIREXT)
[6910]122! else
[6896]123OBJDIR = .\bin\Profile$(DIREXT)
[6910]124! endif
125! else
126! ifdef PROFILE
127OBJDIR = .\bin\Profile$(DIREXT)
128! else
[4718]129OBJDIR = .\bin\Release$(DIREXT)
[6910]130! endif
131! endif
[4718]132!endif
133
134
135#
136# Post include macro.
137#
138ODIN32_POST_INC = $(ODIN32_INCLUDE)/odin32.post.mk
139
140
141#
142# Common rules macro. (All makefiles should have these!)
[6448]143# (Please don't change order of these rules!)
[4718]144#
[6448]145COMMONRULES = clean dep lib all nothing
[4718]146
147
148#
[6422]149# Altern configuration if we're making the custom build object library.
150#
[6896]151CUST =
[6422]152!if "$(CUSTOMBUILD)" == "1"
153! ifndef LIBTARGET
154! ifndef PUBLICLIB
[6896]155CUST = o
156LIBTARGET = 1
157PUBLICLIB = 1
[6422]158WRC_PREFIX_RESOURCE=1
159! else
160CUSTOMBUILD = 0
161! endif
162! else
163CUSTOMBUILD = 0
164! endif
165!endif
166
167
168#
[4718]169# Include compiler environment.
170#
171!ifndef ONLY_TOOLS
172!ifdef DEBUG
[6910]173! ifndef PROFILE
174! include $(ODIN32_INCLUDE)/odin32.dbg.$(MKFILE).mk
175! else
176! include $(ODIN32_INCLUDE)/odin32.profile.$(MKFILE).mk
177! endif
[4718]178!else
[6910]179! ifdef PROFILE
180! include $(ODIN32_INCLUDE)/odin32.profile.$(MKFILE).mk
181! else
182! include $(ODIN32_INCLUDE)/odin32.rel.$(MKFILE).mk
183! endif
[4718]184!endif
185!endif
186
187
188#
[6896]189# Compiler environment modifications for custombuild.
190#
191!if "$(CUSTOMBUILD)" == "1"
192DLLENTRY =
193!endif
194
195
196#
[4718]197# Include system tools
198#
199!include $(ODIN32_INCLUDE)/odin32.tools.mk
200
Note: See TracBrowser for help on using the repository browser.