source: trunk/makefile@ 720

Last change on this file since 720 was 720, checked in by Steven Levine, 18 years ago

Pass DEBUG to sub-makes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
RevLine 
[238]1# makefile - build all fm/2 components
[74]2# $Id: makefile 720 2007-07-04 22:01:34Z stevenhl $
[2]3
[414]4# Copyright (c) 1993-98 M. Kimes
[691]5# Copyright (c) 2002, 2007 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
[74]19
[719]20# Environment - see makefile_pre.mk
[74]21
[15]22BASE = fm3
[2]23
[703]24# FM2_VER defines fm/2 WPI file name suffix
25# e.g. FM2_VER=-3-5-9 results in FM2-3-5-9.wpi being built
26# If FM2_VER is empty, then FM2.wpi is built
[719]27# NOTE: Start the value with '-'
[703]28
29!ifndef FM2_VER # if defined on wmake command, use it
30FM2_VER=-3-6-0 # default value
31!ifdef %FM2_VER # if defined via env. var.
32FM2_VER=$(%FM2_VER) # use the env. var.
33!endif
34!endif
35
36# FM2UTILS_VER defines the fm2utils WPI file name suffix.
37# e.g. FM2UTILS_VER=-1-0 results in FM2Utils-1.0.wpi being built
38# If FM2UTILS_VER is empty, then FM2UTILS.wpi is built
[719]39# NOTE: Start the value with '-'
[703]40
41!ifndef FM2UTILS_VER # if defined on wmake command, use it
42FM2UTILS_VER=-1-1 # default value
43!ifdef %FM2UTILS_VER # if defined via env. var.
44FM2UTILS_VER=$(%FM2UTILS_VER) # use the env. var.
45!endif
46!endif
47
48# If BUILD_FM2UTILS = 1, build FM2UTILS*.wpi and FM2*.wpi
49# Otherwise build just FM2*.wpi
50
51!ifndef BUILD_FM2UTILS # if defined on wmake command, use it
52!ifdef %BUILD_FM2UTILS # else if defined via env. var.
53!ifneq %BUILD_FM2UTILS 1 # if env. var. is anything but 1
54BUILD_FM2UTILS=0 # use a value of 0
55!else
56BUILD_FM2UTILS=1
57!endif
58!else
59BUILD_FM2UTILS=0 # use default value if not defined via env. or command line
60!endif
61!endif
62
[238]63!include makefile_pre.mk
[2]64
[691]65all: dll $(BASE) allexe .symbolic
[589]66
[691]67dist: all lxlite wpi .symbolic
[594]68
[238]69# Only update resources
[691]70res: .symbolic
[238]71 @echo Updating resources only
[720]72 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) MAKERES=1
[238]73
74# make DLL components
75
[691]76dll: .symbolic
[15]77 cd dll
[720]78 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT)
[15]79 cd ..
[2]80
[691]81$(BASE): $(BASE).exe $(BASE).res .symbolic
[2]82
[554]83$(BASE).res: $(BASE).rc icons\$(BASE).ico bitmaps\*.bmp
[2]84
[554]85$(BASE).obj: $(BASE).c dll\version.h
[2]86
[238]87# make EXE compenents
[2]88
[691]89allexe: *.mak .symbolic
[720]90 @for %f in ($<) do $(MAKE) -f %f $(__MAKEOPTS__) $(DEBUG_OPT)
[238]91
[691]92wpi: .symbolic
[579]93 cd warpin
[720]94 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) FM2_VER=$(FM2_VER) FM2UTILS_VER=$(FM2UTILS_VER) BUILD_FM2UTILS=$(BUILD_FM2UTILS)
[579]95 cd ..
96
[465]97# makefile_post.mk contains lxlite target for $(BASE).exe
98# Apply to each *.mak for other exes
[691]99lxlite:: *.mak .symbolic
[720]100 @for %f in ($<) do $(MAKE) -f %f $(__MAKEOPTS__) $(DEBUG_OPT) lxlite
[310]101
[465]102# Apply to dlls
[691]103lxlite:: .symbolic
[465]104 cd dll
[720]105 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) lxlite
[465]106 cd ..
107
[691]108cleanobj: .symbolic
[147]109 cd dll
[720]110 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) cleanobj
[147]111 cd ..
112 -del *.obj
113
[691]114clean:: .symbolic
[147]115 cd dll
[720]116 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) clean
[147]117 cd ..
118 -del *.exe
119 -del *.map
120 -del *.obj
121 -del *.res
122 -del fm3res.str
123
[691]124distclean: clean .symbolic
[589]125 cd warpin
[720]126 $(MAKE) $(__MAKEOPTS__) $(DEBUG_OPT) distclean
[589]127 cd ..
128
[238]129!include makefile_post.mk
[15]130
131# The end
Note: See TracBrowser for help on using the repository browser.