source: trunk/src/makefile@ 4804

Last change on this file since 4804 was 4722, checked in by bird, 25 years ago

New makefile style. (addjustments)
makefile.vac and makefile.smp are obsolete and therefore removed.


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