source: trunk/makefile@ 1344

Last change on this file since 1344 was 1343, checked in by Steven Levine, 17 years ago

Build fm3.sym

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1# makefile - build all fm/2 components
2# $Id: makefile 1343 2008-12-18 19:03:47Z stevenhl $
3
4# Copyright (c) 1993-98 M. Kimes
5# Copyright (c) 2002, 2008 Steven H. Levine
6
7# 24 May 05 SHL Add clean and cleanobj target
8# 16 Jun 05 SHL Workaround makeflags wierdness
9# 18 Jul 05 SHL Add bitmap dependencies
10# 20 Jul 05 SHL Add makeres support
11# 16 Apr 06 SHL Add lxlite target
12# 31 Jul 06 SHL Tweak dependencies
13# 26 Aug 06 SHL Add rest of lxlite support
14# 14 Jun 07 SHL Convert to OpenWatcom
15# 22 Jun 07 JBS Moved some macro-handling code to this
16# file from warpin\makefile because of some
17# differences in how Watcom handles macros.
18# 04 Jul 07 SHL Pass DEBUG settings to sub-make
19# 21 Jan 08 SHL Add *.lrf to clean target
20# 22 Feb 08 JBS Suppress lxlite processing when DEBUG=1
21# 08 Jul 08 SHL Avoid extra work for wmake -a dist
22# 22 Jul 08 SHL Change from dll\dllsyms to dll\syms target for consistency
23# 22 Jul 08 SHL Pass FORTIFY options to subordinate makefiles
24# 25 Oct 08 SHL Sanitize DEBUG usage
25# 18 Nov 08 JBS Ticket 297: Various build improvements/corrections
26# 14 Dec 08 SHL Build fm3.sym
27
28# Environment - see makefile_pre.mk and dll\makefile
29
30BASE = fm3
31
32# Pass values for FM2_VER, FM2UTILS_VER and BUILD_FM2UTILS which
33# have been set on the command line, if any, on to the
34# warpin\makefile using the WARPIN_OPTS macro.
35
36!ifdef FM2_VER # if defined on wmake command, pass it
37WARPIN_OPTS = FM2_VER=$(FM2_VER)
38!endif
39
40!ifdef FM2UTILS_VER # if defined on wmake command, pass it
41WARPIN_OPTS = $(WARPIN_OPTS) FM2UTILS_VER=$(FM2UTILS_VER)
42!endif
43
44!ifdef BUILD_FM2UTILS # if defined on wmake command, pass it
45WARPIN_OPTS = $(WARPIN_OPTS) BUILD_FM2UTILS=$(BUILD_FM2UTILS)
46!endif
47
48!include makefile_pre.mk
49
50all: dll $(BASE) allexe .symbolic
51
52syms: fm3.sym exesyms dllsyms .symbolic
53
54dist: all syms lxlite wpi .symbolic
55
56# Only update resources
57res: .symbolic
58 @echo Updating resources only
59 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) MAKERES=1
60
61# make DLL components
62
63dll: .symbolic
64 cd dll
65 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT)
66 cd ..
67
68dllsyms: .symbolic
69 cd dll
70 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) syms
71 cd ..
72
73$(BASE): $(BASE).exe $(BASE).res .symbolic
74
75$(BASE).res: $(BASE).rc icons\$(BASE).ico bitmaps\*.bmp .autodepend
76
77$(BASE).obj: $(BASE).c dll\version.h .autodepend
78
79# make EXE compenents
80
81allexe: *.mak .symbolic
82 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT)
83
84# make SYM files
85
86exesyms: *.mak .symbolic
87 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) sym
88
89# make WPI files
90
91wpi: .symbolic
92 cd warpin
93 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(WARPIN_OPTS)
94 cd ..
95
96lxlite:: lxlitedll lxliteexe .symbolic
97
98# makefile_post.mk contains lxlite target for $(BASE).exe
99# Apply to each *.mak for other exes
100lxliteexe: *.mak .symbolic
101!ifndef DEBUG
102 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) lxlite
103!endif
104
105# Apply to dlls
106lxlitedll: .symbolic
107!ifndef DEBUG
108 cd dll
109 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) lxlite
110 cd ..
111!endif
112
113cleanobj: .symbolic
114 cd dll
115 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) cleanobj
116 cd ..
117 -del *.obj
118
119clean:: .symbolic
120 cd dll
121 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) clean
122 cd ..
123 -del *.exe
124 -del *.lrf
125 -del *.map
126 -del *.obj
127 -del *.res
128 -del *.sym
129 -del fm3res.str
130
131distclean: clean .symbolic
132 cd warpin
133 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) distclean
134 cd ..
135
136!include makefile_post.mk
137
138# The end
Note: See TracBrowser for help on using the repository browser.