source: trunk/makefile@ 1736

Last change on this file since 1736 was 1620, checked in by Gregg Young, 14 years ago

Build xqs and sym files as part of dll and all targets

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.0 KB
RevLine 
[238]1# makefile - build all fm/2 components
[74]2# $Id: makefile 1620 2011-08-13 23:08:44Z gyoung $
[2]3
[414]4# Copyright (c) 1993-98 M. Kimes
[1514]5# Copyright (c) 2002, 2010 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
[1281]25# 18 Nov 08 JBS Ticket 297: Various build improvements/corrections
[1343]26# 14 Dec 08 SHL Build fm3.sym
[1439]27# 12 Jul 09 GKY Allow FM/2 to load in high memory call exehdr /hi
[1514]28# 13 Apr 10 SHL Drop HIMEM support
[1576]29# 21 Jun 11 GKY Add exceptq .xqs support
30# 21 Jun 11 GKY Make high memory builds the default (resources only for exes)
[1597]31# 04 Jul 11 GKY Make xqs files an explicit target so they will be rebuild if lost somehow.
32# 04 Jul 11 GKY Add eFTE backup files (*~) to clean target
[1620]33# 13 Aug 11 GKY Build xqs and sym files as part of dll and all targets
[74]34
[1259]35# Environment - see makefile_pre.mk and dll\makefile
[74]36
[15]37BASE = fm3
[2]38
[723]39# Pass values for FM2_VER, FM2UTILS_VER and BUILD_FM2UTILS which
40# have been set on the command line, if any, on to the
41# warpin\makefile using the WARPIN_OPTS macro.
[703]42
[723]43!ifdef FM2_VER # if defined on wmake command, pass it
44WARPIN_OPTS = FM2_VER=$(FM2_VER)
[703]45!endif
46
[723]47!ifdef FM2UTILS_VER # if defined on wmake command, pass it
48WARPIN_OPTS = $(WARPIN_OPTS) FM2UTILS_VER=$(FM2UTILS_VER)
[703]49!endif
50
[723]51!ifdef BUILD_FM2UTILS # if defined on wmake command, pass it
52WARPIN_OPTS = $(WARPIN_OPTS) BUILD_FM2UTILS=$(BUILD_FM2UTILS)
[703]53!endif
54
[238]55!include makefile_pre.mk
[2]56
[1620]57all: dll $(BASE) allexe fm3.sym fm3.xqs exesyms .symbolic
[589]58
[1584]59syms: fm3.sym fm3.xqs exesyms dllsyms .symbolic
[594]60
[1281]61dist: all syms lxlite wpi .symbolic
[983]62
[1514]63disth: $(BASE) allexe syms lxlite wpi .symbolic
[1474]64
[238]65# Only update resources
[691]66res: .symbolic
[238]67 @echo Updating resources only
[1281]68 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) MAKERES=1
[238]69
70# make DLL components
71
[691]72dll: .symbolic
[15]73 cd dll
[1281]74 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT)
[15]75 cd ..
[2]76
[983]77dllsyms: .symbolic
78 cd dll
[1281]79 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) syms
[983]80 cd ..
81
[691]82$(BASE): $(BASE).exe $(BASE).res .symbolic
[2]83
[1133]84$(BASE).res: $(BASE).rc icons\$(BASE).ico bitmaps\*.bmp .autodepend
[2]85
[1133]86$(BASE).obj: $(BASE).c dll\version.h .autodepend
[2]87
[238]88# make EXE compenents
[2]89
[691]90allexe: *.mak .symbolic
[1281]91 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT)
[238]92
[983]93# make SYM files
94
95exesyms: *.mak .symbolic
[1281]96 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) sym
[983]97
98# make WPI files
99
[691]100wpi: .symbolic
[1259]101 cd warpin
[1281]102 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(WARPIN_OPTS)
[1259]103 cd ..
[579]104
[1133]105lxlite:: lxlitedll lxliteexe .symbolic
106
[465]107# makefile_post.mk contains lxlite target for $(BASE).exe
108# Apply to each *.mak for other exes
[1133]109lxliteexe: *.mak .symbolic
[1259]110!ifndef DEBUG
[1281]111 @for %f in ($<) do $(MAKE) -h -f %f $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) lxlite
[970]112!endif
[310]113
[465]114# Apply to dlls
[1133]115lxlitedll: .symbolic
[1259]116!ifndef DEBUG
[465]117 cd dll
[1474]118 $(MAKE) -h lxlite
119# $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) $(FORTIFY_OPT) lxlite
[1259]120 cd ..
[970]121!endif
[465]122
[691]123cleanobj: .symbolic
[147]124 cd dll
[1281]125 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) cleanobj
[147]126 cd ..
127 -del *.obj
128
[691]129clean:: .symbolic
[147]130 cd dll
[1281]131 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) clean
[147]132 cd ..
133 -del *.exe
[936]134 -del *.lrf
[147]135 -del *.map
136 -del *.obj
137 -del *.res
[1054]138 -del *.sym
[1576]139 -del *.xqs
[1596]140 -del *~
[147]141
[691]142distclean: clean .symbolic
[589]143 cd warpin
[1281]144 $(MAKE) -h $(__MAKEOPTS__) $(DEBUG_OPT) distclean
[589]145 cd ..
146
[238]147!include makefile_post.mk
[15]148
149# The end
Note: See TracBrowser for help on using the repository browser.