source: trunk/src/makefile@ 4673

Last change on this file since 4673 was 4644, checked in by bird, 25 years ago

Simplified all. ie. finally started to use the build rule.
Added MASSIVE and SMP features to the common rules.

File size: 2.9 KB
RevLine 
[4644]1# $Id: makefile,v 1.66 2000-11-20 05:01:58 bird Exp $
[4]2
3#
4# PD-Win32 API
5#
6# Top of the src tree makefile
7#
8#
[2715]9# Usage: nmake ( all | libs | dep | clean )
[4]10#
11# all: Build the entire src tree.
[1585]12# lib: Builds the libraries.
[2715]13# dep: Builds depenency information for the entire src tree.
[4]14# clean: Bring src tree back to a "virgin" state.
15#
16#
17#
[2715]18
[4644]19#
20# Directory macros.
21#
[2715]22PDWIN32_INCLUDE = ..\include
23PDWIN32_LIB = ..\lib
24PDWIN32_BIN = ..\bin
25PDWIN32_TOOLS = ..\tools\bin
26
27
[4644]28#
29# Build environment.
30#
31!include $(PDWIN32_INCLUDE)\pdwin32.mk
[4]32
[1492]33
[2734]34#
35# Exclude lists which is to be passed in to DOWITHDIRS
36#
[2908]37NOTTOBEMADE = CVS;pe2lx;odin32api;odinwps;spy # generally not made
[2743]38NOTDLLS = $(NOTTOBEMADE);peldr;dllentry # not dlls
39NOTHAVELIBS = $(NOTTOBEMADE);peldr # don't generate libs
[2932]40NOTWIN32DLLS= $(NOTDLLS);win32k;odincrt;dllentry # not win32 dlls.
[1492]41
[1585]42
[4644]43#
44# Check for SMP and MASSIVE.
45# SMP: Working backwards thru the directories traversed by a rule.
46# MASSIVE: Spawn a child processes for each process.
47#
48!ifdef SMP
49EXTRA = -r
50!endif
51!ifdef MASSIVE
52EXTRA = -s start "Odin32 Massive Build" /B /C
53!endif
[4]54
[4644]55
56
[2909]57#
[4644]58# All rule. Make libraries and then build every directory.
[2909]59#
[4644]60all: libs build
61
62
63
[2909]64#
[4644]65# Smp rule - Dual build. Starts a second build process after libraries
66# was made.
67#
68smp: startsmp libs build
[1585]69
[4644]70startsmp: # Internal helper for the smp rule.
71 start "Odin32 SMP Build Process" /B $(MAKE_CMD) SMP=1 libs build
[2909]72
73
[4644]74#
75# Rules which supports the SMP and MASSIVE features.
76#
77# build: Invokes the all rule in every directory.
78# clean: Invokes the clean rule in every directory.
79# lib(s): Invokes the lib rule in every directory known to support it.
80# dep: Invokes the dep rule in every directory.
81#
82build:
83 $(DOWITHDIRS) -e$(NOTTOBEMADE) -lbld -c $(EXTRA) \
84 $(MAKE_CMD) all
[1585]85
[4644]86lib libs:
87 $(DOWITHDIRS) -e$(NOTHAVELIBS) -c -llib $(EXTRA) \
88 $(MAKE_CMD) lib
89
[2715]90dep:
[4644]91 $(DOWITHDIRS) -e$(NOTTOBEMADE) -c -ldep $(EXTRA) \
92 $(MAKE_CMD) NODEP=1 dep
[2715]93
[4]94clean:
[4644]95 $(DOWITHDIRS) -e$(NOTTOBEMADE) -c -lcln $(EXTRA) \
96 $(MAKE_CMD) NODEP=1 clean
[1649]97
[2743]98
99#
100# Odin32 API DB Management
101#
[2749]102APIImport:
[2930]103 $(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp \
[2743]104 ..\..\tools\bin\APIImport.cmd
105
[2749]106StateUpd:
[2788]107 ..\tools\bin\StateUpd.exe -io+
[2930]108 -$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
[3941]109 ..\..\tools\bin\StateUpd.cmd -ie- -ib-
[2788]110 ..\tools\bin\StateUpd.exe -io+
[2743]111
[2749]112ReadSignals:
[3941]113 -$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
[2749]114 IF EXIST signals.log list signals.log
115
116ReadStateUpdLogs:
[3941]117 -$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
[2751]118 IF EXIST stateupd.log list stateupd.log
[2749]119
120ReadAPIImportLogs:
[3941]121 -$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
[2749]122 IF EXIST apiimport.log list apiimport.log
123
124CleanDBLogs:
[2743]125 $(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp \
126 $(RM) apiimport.log signals.log stateupd.log apiimport.def
[2750]127 $(RM) signals.log stateupd.log
[2743]128
Note: See TracBrowser for help on using the repository browser.