source: trunk/src/makefile@ 8889

Last change on this file since 8889 was 8225, checked in by bird, 23 years ago

Added uxtheme to CUSTOMBUILD module list.

File size: 4.2 KB
Line 
1# $Id: makefile,v 1.85 2002-04-10 19:16:03 bird Exp $
2
3#
4# Odin32 API
5#
6# Top of the src tree makefile
7#
8#
9# Usage: nmake ( all | libs | dep | clean )
10#
11# all: Build the entire src tree.
12# lib: Builds the libraries.
13# dep: Builds depenency information for the entire src tree.
14# clean: Bring src tree back to a "virgin" state.
15#
16#
17#
18
19
20#
21# Build environment.
22#
23!include ../makefile.inc
24
25
26#
27# Exclude lists which is to be passed in to DOWITHDIRS
28#
29NOTTOBEMADE = CVS;pe2lx;odin32api;odinwps;spy;odinldr;msvcrt;ws2help;win16ldr;oslib;custombuild # generally not made
30NOTDLLS = $(NOTTOBEMADE);peldr;dllentry;guidlib # not dlls
31NOTHAVELIBS = $(NOTTOBEMADE);peldr # don't generate libs
32NOTWIN32DLLS= $(NOTDLLS);win32k;odincrt;dllentry # not win32 dlls.
33
34
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#
40EXTRA =
41!ifdef SMP
42EXTRA = -r
43!endif
44!ifdef MASSIVE
45EXTRA = -s start "Odin32 Massive Build" /B /C
46!endif
47# TEMPORARY: ignore return codes while we're working with watcom and nmake.
48!if defined(WAT) && defined(NMAKE)
49EXTRA = $(EXTRA) -i
50!endif
51
52
53#
54# All rule. Make libraries and then build every directory.
55#
56all: libs build
57
58
59
60#
61# Smp rule - Dual build. Starts a second build process after libraries
62# was made.
63#
64smp: startsmp libs build
65
66startsmp: # Internal helper for the smp rule.
67 start "Odin32 SMP Build Process" /B $(MAKE_CMD) SMP=1 libs build
68
69
70#
71# Rules which supports the SMP and MASSIVE features.
72#
73# build: Invokes the all rule in every directory.
74# clean: Invokes the clean rule in every directory.
75# lib(s): Invokes the lib rule in every directory known to support it.
76# dep: Invokes the dep rule in every directory.
77#
78build:
79 @$(DOWITHDIRS) -e$(NOTTOBEMADE) -lbld$(CCENV)$(DEBUG) -c $(EXTRA) \
80 $(MAKE_CMD) all
81
82lib libs:
83 @$(DOWITHDIRS) -e$(NOTHAVELIBS) -c -llib$(CCENV)$(DEBUG) $(EXTRA) \
84 $(MAKE_CMD) lib
85
86dep:
87 @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -ldep $(EXTRA) \
88 $(CMDQD_SUB) $(MAKE_CMD) NODEP=1 dep
89 $(CMDQD_WAIT)
90
91clean:
92 @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -lcln$(CCENV)$(DEBUG) $(EXTRA) \
93 $(CMDQD_SUB) $(MAKE_CMD) NODEP=1 clean
94 $(CMDQD_WAIT)
95
96$(COMMONRULES:clean dep lib all=):
97 @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -l$@$(CCENV)$(DEBUG) $(EXTRA) \
98 $(MAKE_CMD) $@
99
100
101#
102# Custom rules
103#
104CUSTOMBUILD = kernel32 user32 advapi32 comctl32 comdlg32 ctl3d32 ddraw ddraw \
105 dinput gdi32 icmp imagehlp iphlpapi lz32 msvfw32 ntdll ole32 riched32 \
106 rpcrt4 shell32 shlwapi version wininet winmm winspool wnaspi32 ws2_32 \
107 wsock32 uxtheme
108
109custombuild:
110 @$(DODIRS) "$(CUSTOMBUILD)" $(MAKE_CMD) all CUSTOMBUILD=1
111 @$(DODIRS) ".\win32k\lib custombuild" $(MAKE_CMD) all
112
113custombuild_all custombuild_clean custombuild_dep:
114 @$(DODIRS) "$(CUSTOMBUILD)" $(MAKE_CMD) $(@:custombuild_=) CUSTOMBUILD=1
115 @$(DODIRS) ".\win32k\lib custombuild" $(MAKE_CMD) $(@:custombuild_=)
116
117
118#
119# Odin32 API DB Management
120#
121APIImport:
122 @$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp \
123 ..\..\tools\bin\APIImport.cmd
124
125StateUpd:
126 ..\tools\bin\StateUpd.exe -io+
127 -@$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
128 ..\..\tools\bin\StateUpd.cmd -ie- -ib-
129 @$(DODIRS) ".\win32k" $(MAKE_CMD) StateUpd
130 ..\tools\bin\StateUpd.exe -io+
131
132ReadSignals:
133 -@$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp -i \
134 IF EXIST signals.log list signals.log
135
136ReadStateUpdLogs:
137 -@$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp -i \
138 IF EXIST stateupd.log list stateupd.log
139
140ReadAPIImportLogs:
141 -@$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
142 IF EXIST apiimport.log list apiimport.log
143
144CleanDBLogs:
145 @$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp \
146 $(RM) apiimport.log signals.log stateupd.log apiimport.def
147 $(RM) signals.log stateupd.log
148
149
150!ifdef NMAKE
151#
152# Common: If MULTIJOBS is defined make sure cmdqd is running.
153#
154!ifndef NO_MULTIJOBS
155! ifdef MULTIJOBS
156! if [$(CMDQD) queryrunning] != 0
157! if [$(DODIRS) "$(ODIN32_BASE)\tools\cmdqd" $(MAKE_CMD) all] == 0
158! endif
159! if [$(CMDQD) init 7] == 0
160! endif
161! endif
162! endif
163!endif
164!endif
165
Note: See TracBrowser for help on using the repository browser.