[10023] | 1 | # $Id: makefile,v 1.88 2003-04-14 23:08:52 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 | #
|
---|
[10023] | 29 | NOTTOBEMADE = CVS;pe2lx;odin32api;odinwps;spy;odinldr;ws2help;win16ldr;oslib;custombuild;opengl;programs;crtdll;msvcrt # generally not made
|
---|
[7410] | 30 | NOTDLLS = $(NOTTOBEMADE);peldr;dllentry;guidlib # not dlls
|
---|
[9875] | 31 | NOTHAVELIBS = $(NOTTOBEMADE);peldr # don't generate libs
|
---|
[2932] | 32 | NOTWIN32DLLS= $(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 | #
|
---|
[6916] | 40 | EXTRA =
|
---|
[4644] | 41 | !ifdef SMP
|
---|
| 42 | EXTRA = -r
|
---|
| 43 | !endif
|
---|
| 44 | !ifdef MASSIVE
|
---|
| 45 | EXTRA = -s start "Odin32 Massive Build" /B /C
|
---|
| 46 | !endif
|
---|
[6916] | 47 | # TEMPORARY: ignore return codes while we're working with watcom and nmake.
|
---|
| 48 | !if defined(WAT) && defined(NMAKE)
|
---|
| 49 | EXTRA = $(EXTRA) -i
|
---|
| 50 | !endif
|
---|
[4] | 51 |
|
---|
[4644] | 52 |
|
---|
[2909] | 53 | #
|
---|
[4644] | 54 | # All rule. Make libraries and then build every directory.
|
---|
[2909] | 55 | #
|
---|
[4644] | 56 | all: libs build
|
---|
| 57 |
|
---|
| 58 |
|
---|
| 59 |
|
---|
[2909] | 60 | #
|
---|
[4644] | 61 | # Smp rule - Dual build. Starts a second build process after libraries
|
---|
| 62 | # was made.
|
---|
| 63 | #
|
---|
| 64 | smp: startsmp libs build
|
---|
[1585] | 65 |
|
---|
[4644] | 66 | startsmp: # Internal helper for the smp rule.
|
---|
| 67 | start "Odin32 SMP Build Process" /B $(MAKE_CMD) SMP=1 libs build
|
---|
[2909] | 68 |
|
---|
| 69 |
|
---|
[4644] | 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 | #
|
---|
| 78 | build:
|
---|
[6872] | 79 | @$(DOWITHDIRS) -e$(NOTTOBEMADE) -lbld$(CCENV)$(DEBUG) -c $(EXTRA) \
|
---|
[4644] | 80 | $(MAKE_CMD) all
|
---|
[1585] | 81 |
|
---|
[4644] | 82 | lib libs:
|
---|
[7997] | 83 | @$(DOWITHDIRS) -e$(NOTHAVELIBS) -c -llib$(CCENV)$(DEBUG) $(EXTRA) \
|
---|
[4644] | 84 | $(MAKE_CMD) lib
|
---|
| 85 |
|
---|
[2715] | 86 | dep:
|
---|
[6872] | 87 | @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -ldep $(EXTRA) \
|
---|
[6540] | 88 | $(CMDQD_SUB) $(MAKE_CMD) NODEP=1 dep
|
---|
| 89 | $(CMDQD_WAIT)
|
---|
[2715] | 90 |
|
---|
[9875] | 91 | clean cleanall:
|
---|
[6872] | 92 | @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -lcln$(CCENV)$(DEBUG) $(EXTRA) \
|
---|
[9875] | 93 | $(CMDQD_SUB) $(MAKE_CMD) NODEP=1 $@
|
---|
[6540] | 94 | $(CMDQD_WAIT)
|
---|
[1649] | 95 |
|
---|
[9875] | 96 | $(COMMONRULES:cleanall clean dep lib all=):
|
---|
[6872] | 97 | @$(DOWITHDIRS) -e$(NOTTOBEMADE) -c -l$@$(CCENV)$(DEBUG) $(EXTRA) \
|
---|
[6447] | 98 | $(MAKE_CMD) $@
|
---|
[2743] | 99 |
|
---|
| 100 | #
|
---|
[6422] | 101 | # Custom rules
|
---|
| 102 | #
|
---|
[8223] | 103 | CUSTOMBUILD = kernel32 user32 advapi32 comctl32 comdlg32 ctl3d32 ddraw ddraw \
|
---|
| 104 | dinput gdi32 icmp imagehlp iphlpapi lz32 msvfw32 ntdll ole32 riched32 \
|
---|
| 105 | rpcrt4 shell32 shlwapi version wininet winmm winspool wnaspi32 ws2_32 \
|
---|
[9674] | 106 | wsock32 uxtheme imm32
|
---|
[7102] | 107 |
|
---|
[6422] | 108 | custombuild:
|
---|
[6872] | 109 | @$(DODIRS) "$(CUSTOMBUILD)" $(MAKE_CMD) all CUSTOMBUILD=1
|
---|
| 110 | @$(DODIRS) ".\win32k\lib custombuild" $(MAKE_CMD) all
|
---|
[6422] | 111 |
|
---|
| 112 | custombuild_all custombuild_clean custombuild_dep:
|
---|
[6872] | 113 | @$(DODIRS) "$(CUSTOMBUILD)" $(MAKE_CMD) $(@:custombuild_=) CUSTOMBUILD=1
|
---|
| 114 | @$(DODIRS) ".\win32k\lib custombuild" $(MAKE_CMD) $(@:custombuild_=)
|
---|
[6422] | 115 |
|
---|
| 116 |
|
---|
| 117 | #
|
---|
[2743] | 118 | # Odin32 API DB Management
|
---|
| 119 | #
|
---|
[2749] | 120 | APIImport:
|
---|
[6872] | 121 | @$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp \
|
---|
[2743] | 122 | ..\..\tools\bin\APIImport.cmd
|
---|
| 123 |
|
---|
[2749] | 124 | StateUpd:
|
---|
[2788] | 125 | ..\tools\bin\StateUpd.exe -io+
|
---|
[6872] | 126 | -@$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
|
---|
[3941] | 127 | ..\..\tools\bin\StateUpd.cmd -ie- -ib-
|
---|
[6872] | 128 | @$(DODIRS) ".\win32k" $(MAKE_CMD) StateUpd
|
---|
[2788] | 129 | ..\tools\bin\StateUpd.exe -io+
|
---|
[2743] | 130 |
|
---|
[2749] | 131 | ReadSignals:
|
---|
[6872] | 132 | -@$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp -i \
|
---|
[2749] | 133 | IF EXIST signals.log list signals.log
|
---|
| 134 |
|
---|
| 135 | ReadStateUpdLogs:
|
---|
[6872] | 136 | -@$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp -i \
|
---|
[2751] | 137 | IF EXIST stateupd.log list stateupd.log
|
---|
[2749] | 138 |
|
---|
| 139 | ReadAPIImportLogs:
|
---|
[6872] | 140 | -@$(DOWITHDIRS) -e$(NOTWIN32DLLS) -cp -i \
|
---|
[2749] | 141 | IF EXIST apiimport.log list apiimport.log
|
---|
| 142 |
|
---|
| 143 | CleanDBLogs:
|
---|
[6872] | 144 | @$(DOWITHDIRS) -e$(NOTWIN32DLLS:win32k;=) -cp \
|
---|
[2743] | 145 | $(RM) apiimport.log signals.log stateupd.log apiimport.def
|
---|
[2750] | 146 | $(RM) signals.log stateupd.log
|
---|
[2743] | 147 |
|
---|
[6916] | 148 |
|
---|
| 149 | !ifdef NMAKE
|
---|
| 150 | #
|
---|
| 151 | # Common: If MULTIJOBS is defined make sure cmdqd is running.
|
---|
| 152 | #
|
---|
| 153 | !ifndef NO_MULTIJOBS
|
---|
| 154 | ! ifdef MULTIJOBS
|
---|
| 155 | ! if [$(CMDQD) queryrunning] != 0
|
---|
| 156 | ! if [$(DODIRS) "$(ODIN32_BASE)\tools\cmdqd" $(MAKE_CMD) all] == 0
|
---|
| 157 | ! endif
|
---|
| 158 | ! if [$(CMDQD) init 7] == 0
|
---|
| 159 | ! endif
|
---|
| 160 | ! endif
|
---|
| 161 | ! endif
|
---|
| 162 | !endif
|
---|
| 163 | !endif
|
---|
| 164 |
|
---|