source: trunk/makefile@ 1268

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

Rework makefile dependencies to avoid target dependent build failures.
Drop support for DEBUG=0 - it does not match what our C code expects.

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