Makefile revision bc400f01f6db80c47cf6b659a98c19c79a91159f
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# Makefile for the InnoTek Portable Runtime (IPRT).
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# Copyright (C) 2006 InnoTek Systemberatung GmbH
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# This file is part of VirtualBox Open Source Edition (OSE), as
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# available from http://www.virtualbox.org. This file is free software;
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# you can redistribute it and/or modify it under the terms of the GNU
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# General Public License as published by the Free Software Foundation,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# distribution. VirtualBox OSE is distributed in the hope that it will
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# be useful, but WITHOUT ANY WARRANTY of any kind.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# If you received this file as part of a commercial VirtualBox
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# distribution, then only the terms of your commercial VirtualBox
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw# license agreement apply instead of the previous paragraph.
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw # Normal mode.
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross LIBRARIES = RuntimeR3 RuntimeR0 RuntimeGC RuntimeEFCPP RuntimeR3NoCRTGCC
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States endif
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States ifdef VBOX_WITH_WIN32_ADDITIONS
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States LIBRARIES += RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States endif
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States ifdef VBOX_WITH_LINUX_ADDITIONS
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States LIBRARIES += RuntimeLnx32GuestR3
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States ifdef VBOX_WITH_LINUX_ADDITIONS_32BIT_R0
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States LIBRARIES += RuntimeLnx32GuestR0
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States endif
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States endif
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States DLLS = VBoxRT
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States OTHER_CLEAN = \
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States $(PATH_TARGET)/docs.iprt
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States SUBDIRS_AFTER = testcase
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Stateselse
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States # Linux target guest runtime only mode.
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross LIBRARIES = RuntimeLnx32GuestR0 RuntimeLnx32GuestR3
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesendif # only linux guest additions
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States# global (for now at least)
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United StatesINCS += include
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesifeq ($(USERNAME),bird)
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States ifneq ($(wildcard ./kLdr/kLdrModMachO.c),)
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States IPRT_WITH_KLDR=1
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States IPRT_PATH_KLDR=./kLdr
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross# Unicode Specification reader used to regenerate unidata.cpp.
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United Statesuniread_TEMPLATE = VBOXBLDPROG
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross# Win64 assembly sources.
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United StatesRuntimeWin64ASM_SOURCES = \
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States win64/ASMAtomicReadU64.asm \
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States win64/ASMAtomicXchgU16.asm \
9fb67ea305c66b6a297583b9b0db6796b0dfe497afshin salek ardakani - Sun Microsystems - Irvine United States win64/ASMBitFirstClear.asm \
RuntimeR3_DEFS.debug += KLDRMOD_STRICT KLDRMODLX_STRICT KLDRMODPE_STRICT KLDRMODNATIVE_STRICT KLDRRDR_STRICT
ifdef VBOX_MAIN_RELEASE_LOG ## @todo (dmik): temporary, until RTThreadSelf/RTThreadAdopt are properly updated
RuntimeR3_INCS = \
RuntimeR3_INCS += \
$(L4_INCDIR)
# for iconv.h
dir.cpp \
fs.cpp \
ldr.cpp \
log.cpp \
md5.cpp \
path.cpp \
req.cpp \
time.cpp \
uni.cpp \
zip.cpp \
RuntimeR3_SOURCES += \
# $(IPRT_PATH_KLDR)/kLdrHlp.c \
# $(IPRT_PATH_KLDR)/kLdrHlpHeap.c \
# $(IPRT_PATH_KLDR)/kLdrHlpSem.c \
# $(IPRT_PATH_KLDR)/kLdrHlpMem.c \
# $(IPRT_PATH_KLDR)/kLdrHlpPath.c
RuntimeR3_SOURCES += \
RuntimeW32GuestR3_DEFS.debug += KLDRMOD_STRICT KLDRMODLX_STRICT KLDRMODPE_STRICT KLDRMODNATIVE_STRICT KLDRRDR_STRICT
RuntimeLnx32GuestR3_DEFS = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 LDR_WITH_PE RT_WITH_VBOX
RuntimeLnx32GuestR3_DEFS.debug += KLDRMOD_STRICT KLDRMODLX_STRICT KLDRMODPE_STRICT KLDRMODNATIVE_STRICT KLDRRDR_STRICT
VBoxRT_SOURCES = \
VBoxRT_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH) = $(RuntimeR3_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH))
VBoxRT_INCS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH) = $(RuntimeR3_INCS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH))
VBoxRT_LIBS = \
VBoxRT_LIBS += \
RuntimeR0Drv_DEFS.linux = MODULE KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) IN_SUP_R0 # why is IN_SUP_R0 here? because!
log.cpp \
$(RuntimeR0Drv_SOURCES) \
$(RuntimeR0Drv_SOURCES) \
log.cpp \
# errmsg.cpp depends on a generated header.
$(call MSG_L1,Generating $@)
$(call MSG_L1,Generating $@)
$(call MSG_L1,Generating $@)
# Aliases for .cpp.h files so we can more easily do syntax checking from the editor.
string \
table \
DOXYGEN_INPUT := \
DOXYGEN_INPUT := \
$(DOXYGEN_INPUT_FIRST) \
$(MKDIR) -p $@
$(PATH_TARGET)/docs.iprt: $(PATH_TARGET)/Doxyfile $(DOXYGEN_INPUT) | $(call DIRDEP, $(DOXYGEN_OUTPUT))
@echo test-$(comp-vars DOXYGEN_OUTPUT,DOXYGEN_OUTPUT_PREV,FORCE)
@echo $(DOXYGEN_OUTPUT)
@echo $(DOXYGEN_OUTPUT_PREV)