Changeset 2517 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 5, 2007 3:08:03 AM (18 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/Makefile.kmk
r2482 r2517 1 1 # $Id$ 2 2 ## @file 3 # Makefile for the VMM.3 # Top-level makefile for the VMM. 4 4 # 5 5 … … 21 21 22 22 DEPTH = ../../.. 23 include $(PATH_KBUILD)/header.kmk 24 25 LIBRARIES = VMMR3 26 ifneq ($(BUILD_TARGET),darwin) 27 LIBRARIES += VMMGCBuiltin VMMGCImp VMMR0Imp 28 endif 29 SYSMODS = VMMGC VMMR0 30 DLLS = VBoxVMM 31 32 # Walk 33 SUBDIRS_AFTER_BINARIES = testcase 34 SUBDIRS_AFTER_OTHERS = testcase 35 SUBDIRS_AFTER_CLEAN = testcase 36 SUBDIRS_AFTER_NOTHING = testcase 37 23 include $(PATH_KBUILD)/subheader.kmk 24 25 ## @todo get rid of these. 38 26 # Enable the PDM lock. 39 27 #DEFS += VBOX_WITH_PDM_LOCK … … 42 30 endif 43 31 32 # Include sub-makefiles. 33 include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk 34 44 35 45 36 # 46 37 # VMMR3.dll 47 38 # 39 LIBRARIES += VMMR3 40 48 41 VMMR3_TEMPLATE = VBOXR3 49 42 VMMR3_DEFS = IN_VMM_R3 IN_PDM_R3 IN_CFGM_R3 IN_IOM_R3 IN_VM_R3 IN_CPUM_R3 IN_SELM_R3 IN_PGM_R3 IN_TRPM_R3 IN_MM_R3 IN_DBG_R3 \ … … 54 47 endif 55 48 endif 56 VMMR3_INCS 49 VMMR3_INCS := \ 57 50 PATM \ 58 51 $(PATH_SUB_CURRENT) … … 146 139 147 140 # 141 # The VMM DLL. 142 # 143 DLLS += VBoxVMM 144 VBoxVMM_TEMPLATE = VBOXR3 145 VBoxVMM_DEFS = $(VMMR3_DEFS) 146 VBoxVMM_SOURCES = VBoxVMMDeps.cpp 147 VBoxVMM_SONAME.linux = VBoxVMM.so 148 149 VBoxVMM_LIBS = \ 150 $(PATH_LIB)/VMMR3$(VBOX_SUFF_LIB) \ 151 $(PATH_LIB)/Debugger$(VBOX_SUFF_LIB) \ 152 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB) \ 153 $(LIB_REM) \ 154 $(LIB_RUNTIME) 155 156 VBoxVMM_LIBS.win = $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib 157 VBoxVMM_LDFLAGS.win = /DELAYLOAD:dbghelp.dll 158 VBoxVMM_LDFLAGS.linux = -Wl,--no-undefined 159 VBoxVMM_LDFLAGS.darwin = -install_name @executable_path/VBoxVMM.dylib 160 161 162 # 148 163 # VMMGCBuiltin.lib 149 164 # 165 ifneq ($(BUILD_TARGET),darwin) 166 LIBRARIES += VMMGCBuiltin 150 167 VMMGCBuiltin_TEMPLATE = VBOXGC 151 168 ifeq ($(VBOX_LDR_FMT32),pe) … … 158 175 $(MV) -f [email protected] $@ 159 176 endif 177 endif # !darwin 178 160 179 161 180 # 162 181 # VMMGCImp.lib 163 182 # 183 ifneq ($(BUILD_TARGET),darwin) 184 LIBRARIES += VMMGCImp 164 185 VMMGCImp_TEMPLATE = VBOXGC 165 186 ifeq ($(VBOX_LDR_FMT32),pe) … … 174 195 $(MV) -f [email protected] $@ 175 196 endif 197 endif # !darwin 198 176 199 177 200 # 178 201 # VMMR0Imp.lib 179 202 # 203 ifneq ($(BUILD_TARGET),darwin) 204 LIBRARIES += VMMR0Imp 180 205 VMMR0Imp_TEMPLATE = VBOXR0 181 206 ifeq ($(VBOX_LDR_FMT),pe) … … 190 215 $(MV) -f [email protected] $@ 191 216 endif 217 endif # !darwin 218 192 219 193 220 # 194 221 # VMMGC.gc 195 222 # 223 SYSMODS += VMMGC 196 224 VMMGC_TEMPLATE = VBOXGC 197 225 VMMGC_INCS := \ … … 276 304 # VMMR0.r0 277 305 # 306 SYSMODS += VMMR0 278 307 VMMR0_TEMPLATE = VBOXR0 279 308 VMMR0_INCS := \ … … 350 379 351 380 352 # 353 # The VMM DLL. 354 # 355 VBoxVMM_TEMPLATE = VBOXR3 356 VBoxVMM_DEFS = $(VMMR3_DEFS) 357 VBoxVMM_SOURCES = VBoxVMMDeps.cpp 358 VBoxVMM_SONAME.linux = VBoxVMM.so 359 360 VBoxVMM_LIBS = \ 361 $(PATH_LIB)/VMMR3$(VBOX_SUFF_LIB) \ 362 $(PATH_LIB)/Debugger$(VBOX_SUFF_LIB) \ 363 $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB) \ 364 $(LIB_REM) \ 365 $(LIB_RUNTIME) 366 367 VBoxVMM_LIBS.win = $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib 368 VBoxVMM_LDFLAGS.win = /DELAYLOAD:dbghelp.dll 369 VBoxVMM_LDFLAGS.linux = -Wl,--no-undefined 370 VBoxVMM_LDFLAGS.darwin = -install_name @executable_path/VBoxVMM.dylib 371 372 include $(PATH_KBUILD)/footer.kmk 381 include $(PATH_KBUILD)/subfooter.kmk 373 382 374 383 -
trunk/src/VBox/VMM/testcase/Makefile.kmk
r2478 r2517 1 1 # $Id$ 2 2 ## @file 3 # Makefile for the VMM testcases.3 # Sub-Makefile for the VMM testcases. 4 4 # 5 5 … … 20 20 # 21 21 22 DEPTH = ../../../.. 23 include $(PATH_KBUILD)/header.kmk 22 DEPTH ?= ../../../.. 23 SUB_DEPTH = .. 24 include $(PATH_KBUILD)/subheader.kmk 24 25 25 26 # 26 27 # Target lists. 27 28 # 28 PROGRAMS 29 PROGRAMS += tstVMStructSize tstVMStructGC tstAsmStructs tstAsmStructsGC tstVMM tstVMM-HwAccm 29 30 ifdef VBOX_WITH_TESTCASES 30 PROGRAMS 31 PROGRAMS += tstCFGM tstSSM tstMMHyperHeap tstVMM-2 tstVMREQ tstMicro tstCompiler tstVMMR0CallHost-1 31 32 ifneq ($(BUILD_TARGET),l4) 32 PROGRAMS 33 PROGRAMS += tstAnimate 33 34 endif 34 SYSMODS 35 SYSMODS += tstMicroGC 35 36 endif # VBOX_WITH_TESTCASES 36 37 … … 57 58 58 59 # 59 # Globals .60 # 61 TEMPLATE = VBOXR3TSTEXE 60 # Globals 61 # 62 VBOX_PATH_VMM_SRC = $(PATH_SUB_ROOT) 62 63 63 64 # … … 67 68 tstVMStructGC_DEFS = IN_VMM_GC IN_PDM_GC IN_CFGM_GC IN_IOM_GC IN_VM_GC IN_CPUM_GC IN_SELM_GC IN_PGM_GC IN_TRPM_GC IN_MM_GC IN_PDM_GC IN_DBGF_GC IN_PATM_GC IN_DIS_GC IN_STAM_GC IN_VGADEVICE_GC IN_CSAM_GC IN_SSM_GC IN_REM_GC IN_RRM_GC 68 69 tstVMStructGC_SOURCES = tstVMStructGC.cpp 69 tstVMStructGC_INCS = .. ../PATM 70 70 tstVMStructGC_INCS = $(VBOX_PATH_VMM_SRC) $(VBOX_PATH_VMM_SRC)/PATM 71 72 tstVMStructSize_TEMPLATE= VBOXR3TSTEXE 71 73 tstVMStructSize_DEFS = IN_VMM_R3 IN_PDM_R3 IN_CFGM_R3 IN_IOM_R3 IN_VM_R3 IN_CPUM_R3 IN_SELM_R3 IN_PGM_R3 IN_TRPM_R3 IN_MM_R3 IN_PDM_R3 IN_DBGF_R3 IN_PATM_R3 IN_DIS_R3 IN_STAM_R3 IN_VGADEVICE_R3 IN_CSAM_R3 IN_SSM_R3 IN_REM_R3 72 tstVMStructSize_INCS = .. ../PATM $(PATH_TARGET)74 tstVMStructSize_INCS = $(VBOX_PATH_VMM_SRC) $(VBOX_PATH_VMM_SRC)/PATM $(PATH_TARGET) 73 75 tstVMStructSize_SOURCES = tstVMStructSize.cpp 74 76 tstVMStructSize_LIBS.l4 = $(LIB_RUNTIME) 75 77 tstVMStructSize.cpp_DEPS= $(PATH_TARGET)/tstVMStructGC.h 76 78 79 tstAsmStructs_TEMPLATE = VBOXR3TSTEXE 77 80 tstAsmStructs_DEFS = IN_VMM_R3 IN_PDM_R3 IN_CFGM_R3 IN_IOM_R3 IN_VM_R3 IN_CPUM_R3 IN_SELM_R3 IN_PGM_R3 IN_TRPM_R3 IN_MM_R3 IN_PDM_R3 IN_DBGF_R3 IN_PATM_R3 IN_DIS_R3 IN_STAM_R3 IN_VGADEVICE_R3 IN_CSAM_R3 IN_SSM_R3 78 tstAsmStructs_INCS = ..$(PATH_TARGET)81 tstAsmStructs_INCS = $(VBOX_PATH_VMM_SRC) $(PATH_TARGET) 79 82 tstAsmStructs_SOURCES = tstAsmStructs.cpp 80 83 tstAsmStructs_LIBS.l4 = $(LIB_RUNTIME) … … 82 85 tstAsmStructsGC_TEMPLATE= VBOXGCEXE 83 86 tstAsmStructsGC_DEFS = IN_VMM_GC IN_PDM_GC IN_CFGM_GC IN_IOM_GC IN_VM_GC IN_CPUM_GC IN_SELM_GC IN_PGM_GC IN_TRPM_GC IN_MM_GC IN_PDM_GC IN_DBGF_GC IN_PATM_GC IN_DIS_GC IN_STAM_GC IN_VGADEVICE_GC IN_CSAM_GC IN_SSM_GC IN_RRM_GC 84 tstAsmStructsGC_INCS = ..$(PATH_TARGET)87 tstAsmStructsGC_INCS = $(VBOX_PATH_VMM_SRC) $(PATH_TARGET) 85 88 tstAsmStructsGC_SOURCES = tstAsmStructs.cpp 86 89 … … 88 91 89 92 93 tstMMHyperHeap_TEMPLATE = VBOXR3TSTEXE 90 94 tstMMHyperHeap_SOURCES = tstMMHyperHeap.cpp 91 95 tstMMHyperHeap_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 92 96 97 tstSSM_TEMPLATE = VBOXR3TSTEXE 93 98 tstSSM_SOURCES = tstSSM.cpp 94 99 tstSSM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 95 100 101 tstCFGM_TEMPLATE = VBOXR3TSTEXE 96 102 tstCFGM_SOURCES = tstCFGM.cpp 97 103 tstCFGM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 98 104 105 tstVMM_TEMPLATE = VBOXR3EXE 99 106 tstVMM_SOURCES = tstVMM.cpp 100 tstVMM_TEMPLATE = VBOXR3EXE101 107 tstVMM_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 102 108 109 tstVMM-HwAccm_TEMPLATE = VBOXR3EXE 103 110 tstVMM-HwAccm_SOURCES = tstVMM-HwAccm.cpp 104 tstVMM-HwAccm_TEMPLATE = VBOXR3EXE105 111 tstVMM-HwAccm_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 106 112 113 tstVMM-2_TEMPLATE = VBOXR3EXE 107 114 tstVMM-2_SOURCES = tstVMM-2.cpp 108 tstVMM-2_TEMPLATE = VBOXR3EXE109 115 tstVMM-2_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 110 116 111 117 tstVMMR0CallHost-1_TEMPLATE = VBOXR3EXE 112 tstVMMR0CallHost-1_INCS = ..113 tstVMMR0CallHost-1_SOURCES 118 tstVMMR0CallHost-1_INCS = $(VBOX_PATH_VMM_SRC) 119 tstVMMR0CallHost-1_SOURCES = \ 114 120 tstVMMR0CallHost-1.cpp \ 115 ../VMMR0/VMMR0A.asm 116 tstVMMR0CallHost-1_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 117 121 $(VBOX_PATH_VMM_SRC)/VMMR0/VMMR0A.asm 122 tstVMMR0CallHost-1_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 123 124 tstVMREQ_TEMPLATE = VBOXR3EXE 118 125 tstVMREQ_SOURCES = tstVMREQ.cpp 119 tstVMREQ_TEMPLATE = VBOXR3EXE120 126 tstVMREQ_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 121 127 128 tstAnimate_TEMPLATE = VBOXR3EXE 122 129 tstAnimate_SOURCES = tstAnimate.cpp 123 tstAnimate_TEMPLATE = VBOXR3EXE124 130 tstAnimate_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 125 131 132 tstCompiler_TEMPLATE = VBOXR3TSTEXE 126 133 tstCompiler_SOURCES = tstCompiler.cpp 127 134 tstCompiler_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 128 135 136 tstMicro_TEMPLATE = VBOXR3EXE 129 137 tstMicro_SOURCES = tstMicro.cpp 130 tstMicro_TEMPLATE = VBOXR3EXE131 138 tstMicro_LIBS = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME) 132 139 … … 150 157 151 158 152 include $(PATH_KBUILD)/footer.kmk 153 154 155 # 156 # Some handcrafted support for tstAsmStructs. 159 160 161 include $(PATH_KBUILD)/subfooter.kmk 162 163 164 # temporary hack. 165 .NOTPARALLEL: $(TARGET_tstMicroGC) $(LIB_VMMGC) 166 167 168 # 169 # Some handcrafted support targets for tstAsmStructs. 157 170 # 158 171 … … 165 178 166 179 # 1a. make a header file which makes all the structures+members globals. 167 $(PATH_TARGET)/tstAsmStructsAsm.mac: tstAsmStructsAsm.asm tstAsmStructsAsm-lst.sed \ 180 $(PATH_TARGET)/tstAsmStructsAsm.mac: \ 181 $(VBOX_PATH_VMM_SRC)/testcase/tstAsmStructsAsm.asm \ 182 $(VBOX_PATH_VMM_SRC)/testcase/tstAsmStructsAsm-lst.sed \ 168 183 $(DEPTH)/include/iprt/asmdefs.mac \ 169 184 $(DEPTH)/include/VBox/cpum.mac \ 170 185 $(DEPTH)/include/VBox/vm.mac \ 171 ../CPUMInternal.mac \172 ../TRPMInternal.mac \173 ../VMMInternal.mac \174 Makefile.kmk \186 $(VBOX_PATH_VMM_SRC)/CPUMInternal.mac \ 187 $(VBOX_PATH_VMM_SRC)/TRPMInternal.mac \ 188 $(VBOX_PATH_VMM_SRC)/VMMInternal.mac \ 189 $(VBOX_PATH_VMM_SRC)/testcase/Makefile.kmk \ 175 190 | $(call DIRDEP,$(PATH_TARGET)) 176 $(call MSG_ COMPILE,tstAsmStructsAsm,$<,$@,AS)191 $(call MSG_GENERATE,tstVMStructSize,$@,$<) 177 192 ifndef DONT_USE_YASM 178 193 $(QUIET)$(TOOL_YASM_AS) \ … … 187 202 -f $(if $(eq $(BUILD_TARGET),darwin),macho,elf) \ 188 203 $(foreach inc,$(INCS),-I$(inc)/) -o [email protected] -l [email protected] $< 189 $(SED) -f tstAsmStructsAsm-lst.sed [email protected] > $@204 $(SED) -f $(VBOX_PATH_VMM_SRC)/testcase/tstAsmStructsAsm-lst.sed [email protected] > $@ 190 205 else 191 206 $(QUIET)$(TOOL_NASM_AS) \ … … 207 222 endif 208 223 209 210 211 224 # 1b. make an elf/macho object containing the offsets. 212 $(PATH_TARGET)/tstAsmStructsAsm.o: tstAsmStructsAsm.asm $(PATH_TARGET)/tstAsmStructsAsm.mac \ 213 Makefile.kmk \ 225 $(PATH_TARGET)/tstAsmStructsAsm.o: \ 226 $(VBOX_PATH_VMM_SRC)/testcase/tstAsmStructsAsm.asm \ 227 $(PATH_TARGET)/tstAsmStructsAsm.mac \ 228 $(VBOX_PATH_VMM_SRC)/testcase/Makefile.kmk \ 214 229 | $(call DIRDEP,$(PATH_TARGET)) 215 230 $(call MSG_COMPILE,tstAsmStructsasm,$<,$@,AS) … … 244 259 # 2. use nm and sed to transform this into the header we want. 245 260 $(PATH_TARGET)/tstAsmStructsHC.h: $(PATH_TARGET)/tstAsmStructsAsm.o 246 $(call MSG_GENERATE, ,$@,$<)261 $(call MSG_GENERATE,tstVMStructSize,$@,$<) 247 262 $(QUIET)$(RM) -f $@ [email protected] [email protected] 248 263 $(VBOX_NM) $< > [email protected] … … 258 273 # 3. transform the HC header into a GC one by omitting some HC only structures. 259 274 $(PATH_TARGET)/tstAsmStructsGC.h: $(PATH_TARGET)/tstAsmStructsHC.h 260 $(call MSG_GENERATE, ,$@,$<)275 $(call MSG_GENERATE,tstVMStructSize,$@,$<) 261 276 $(QUIET)$(SED) -e '/VMMSWITCHERDEF/d' \ 262 277 $^ > $@ … … 269 284 $(QUIET)$(APPEND) "$@" "done" 270 285 286 287 271 288 # 272 289 # Run rule for tstVMStructSize. 273 290 # 274 291 275 # 1. Dump selected structure in the VMMGC.gc debug info. 276 # 2. Generate a testcase from the dump 277 ## future 278 279 # 1&2. Manually dump selected structures and members. 292 # 1. Manually dump selected structures and members. 280 293 $(PATH_TARGET)/tstVMStructGC.h: $(INSTARGET_tstVMStructGC) 281 $(call MSG_GENERATE, ,$@)294 $(call MSG_GENERATE,tstVMStructSize,$@) 282 295 $(QUIET)$(INSTARGET_tstVMStructGC) > $@ 283 296 284 # 3. run it.297 # 2. run it. 285 298 $(PATH_TARGET)/tstVMStructSize.run: $(INSTARGET_tstVMStructSize) 286 299 $(QUIET)$(RM) -f $@
Note:
See TracChangeset
for help on using the changeset viewer.