source: trunk/makefile_pre.mk@ 1010

Last change on this file since 1010 was 983, checked in by John Small, 18 years ago

Change the SYM build code: DEBUB=1 is no longer required, new targets:
syms, exesyms and dllsyms. Also the dist target will build SYM files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1# makefile_pre.mk - common makefile prefix settings for all makefiles
2# $Id: makefile_pre.mk 983 2008-02-26 02:51:21Z jbs $
3
4# 01 Sep 06 SHL Adjust .res case
5# 02 Jun 07 SHL Convert to OpenWatcom
6# 27 Jun 07 SHL Use same CFLAGS for all builds
7# 27 Jun 07 SHL Allow DEBUG set from command line or environment
8# 03 Jul 07 SHL Change DEBUG semantics to ifdef/ifndef
9# 04 Jul 07 SHL Pass DEBUG settings to sub-make
10# 22 Sep 07 SHL Switch to 4 byte packing (-zp4)
11# 26 Sep 07 SHL Support USE_WRC from environment
12# 03 Jan 08 SHL Switch to wrc.exe default; support USE_RC from environment
13# 23 Jan 08 JBS Add support for building SYM files (Ticket 226)
14
15CC = wcc386
16LINK = wlink
17
18!ifndef USE_RC # if not defined on command line
19!ifdef %USE_RC # if defined in environment
20USE_RC = $(%USE_RC)
21!else
22USE_RC = 0
23!endif
24!endif
25
26!if $(USE_RC)
27RC = rc
28!else
29RC = wrc
30!endif
31
32# Keep this code in sync with dll\makefile
33!ifdef DEBUG # if defined on wmake command line
34DEBUG_OPT = DEBUG=$(DEBUG) # set in case needed by sub-make
35!else
36!ifdef %DEBUG # if defined in environment
37DEBUG = $(%DEBUG) # use value from environment
38DEBUG_OPT = DEBUG=$(DEBUG) # set in case needed by sub-make
39!endif
40!endif
41
42SYMS = $(BASE).sym #set a target for building SYM files
43
44# Some flags are order dependent - see OpenWatcom docs
45# -bc console app
46# -bd build target is a Dynamic Link Library (DLL) (see bd)
47# -bg gui app with WinMain entry point
48# -bm multithread libs
49# -bt=os2 target
50# -d2 full debug
51# -d3 full debug w/unref
52# -hd dwarf
53# -j signed char
54# -mf flat
55# -olinars optimze loops, inline, e(n)able fp recip, relax (a)lias, reordering, space
56# -s disable stack checks
57# -sg generate calls to grow the stack
58# -st touch stack through SS first
59# -wcd14 no reference to symbol
60# -wcd726 no reference to formal parameter
61# -we treat warnings as errors
62# -wx max warnings
63# -zfp disable fs use
64# -zgp disable gs use
65# -zp4 align 4
66# -zq quiet
67
68# We always compile with debug info to avoid needed a full rebuild just to debug
69CFLAGS = -bt=os2 -mf -bm -d2 -olirs -s -j -we -wx -zfp -zgp -zp4 -zq -hd
70
71LFLAGS = sys os2v2_pm op quiet op verbose op cache op caseexact op map
72!ifdef DEBUG
73LFLAGS += debug dwarf all
74!endif
75
76# rc Includes can be in current director or dll subdirectory
77!if $(USE_RC)
78RCFLAGS = -r -i dll
79RCFLAGS2 = -x2
80!else
81# Pass 1 flags
82RCFLAGS = -r -i=dll -ad
83# Pass 2 flags
84RCFLAGS2 =-ad
85!endif
86
87.SUFFIXES:
88.SUFFIXES: .obj .c .res .rc .ipf .sym .map
89
90!if $(USE_RC)
91.rc.res:
92 $(RC) $(RCFLAGS) $*.rc
93 ren $*.res $*.res
94!else
95.rc.res: .AUTODEPEND
96 $(RC) $(RCFLAGS) $*.rc
97!endif
98
99.c.obj: .AUTODEPEND
100 $(CC) $(CFLAGS) $*.c
101
102# The end
Note: See TracBrowser for help on using the repository browser.