f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# $Id$
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync## @file
702ded37444d1081164b40c522bdea2afd928ac5vboxsync# kBuild Configuration file for the OS/2 Guest Additions.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
702ded37444d1081164b40c522bdea2afd928ac5vboxsync# Copyright (C) 2006-2014 Oracle Corporation
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# available from http://www.virtualbox.org. This file is free software;
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# you can redistribute it and/or modify it under the terms of the GNU
6eea1c2a48951b898f17a82b2432e5233226d6cdvboxsync# General Public License (GPL) as published by the Free Software
6eea1c2a48951b898f17a82b2432e5233226d6cdvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
6eea1c2a48951b898f17a82b2432e5233226d6cdvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6eea1c2a48951b898f17a82b2432e5233226d6cdvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncifdef VBOX_ADDITIONS_OS2_CONFIG_KMK_INCLUDED
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync $(error oops.)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncendif
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncVBOX_ADDITIONS_OS2_CONFIG_KMK_INCLUDED = true
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# Include the top-level configure file.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync include $(PATH_ROOT)/Config.kmk
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncendif
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync## FIXME
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncPATH_DDKVIDEO ?= D:/ddk/200402/video
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncPATH_DDKBASE ?= D:/ddk/200402/base
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncTOOL_MASM510_AS ?= $(PATH_DDKBASE)/tools/masm.exe
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncTOOL_MSLINK510_LD ?= $(PATH_DDKBASE)/tools/link.exe
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncPATH_TOOL_VAC308 ?= D:/VACpp/v3.08
193a3d2712f792f29e133722eebd0ee9d61358c6vboxsyncPATH_TOOL_ALP ?= D:/Toolkit/v4.52/bin
fd647f0a684c087d1481c46d9aa85962e0341b1fvboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync# Template for VAC308 Gradd stuff.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync#
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308 = Template for VisualAge for C++ v3.08 / Gradd
010b49150eff471de701712aaa3e643d56a2fd73vboxsyncTEMPLATE_VBOXOS2VAC308_TOOL = VAC308
010b49150eff471de701712aaa3e643d56a2fd73vboxsyncTEMPLATE_VBOXOS2VAC308_ASTOOL = ALP
010b49150eff471de701712aaa3e643d56a2fd73vboxsyncTEMPLATE_VBOXOS2VAC308_INST = $(INST_ADDITIONS)
010b49150eff471de701712aaa3e643d56a2fd73vboxsyncTEMPLATE_VBOXOS2VAC308_DEFS = RT_OS_OS2 IN_RING3 ## @todo IN_GUEST IN_GUEST_R3 IN_RT_R3
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Gn+ # Do not generate default libraries in object.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Gr+ # Allow object code to run at ring 0.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Rn # Produce code to run with no runtime environment.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Sp1 # Pack aggregate members on 1 byte alignment.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Tm- # No debug memory management.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Q+ # Suppress the logo. (in VAC308.kmk?)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /C+ # Perform compile only, no link. (in VAC308.kmk?)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Ss+ # Allow the double slash (//) format to be used for comments. (C only)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /G5 # Generate code optimized for use on a Pentium processor.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Ti+ # Generate debugging information.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /O+ # Optimize generated code.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Oi+ # Turn on function inlining.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS += /Ge- # Use the version of the runtime library that assumes a DLL is being built. (_DLL_InitTerm++)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CFLAGS := $(strip $(TEMPLATE_VBOXOS2VAC308_CFLAGS))
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_CXXFLAGS = $(VBoxGradd_CFLAGS)
fd647f0a684c087d1481c46d9aa85962e0341b1fvboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Nologo" # Quiet! (ILINK308.kmk?)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Debug" # Debug info (ILINK308.kmk?)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Map" # Generate map file (ILINK308.kmk?)
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Linenumbers" # Map file with linenumbers.
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Exepack:2" # Compress the file using exepack 2.
ad27e1d5e48ca41245120c331cc88b50464813cevboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Alignment:32" # Pack LX pages on 32 byte boundaries (default is 512 bytes).
fd647f0a684c087d1481c46d9aa85962e0341b1fvboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/NoDefaultLibrarySearch"
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LDFLAGS := $(strip $(TEMPLATE_VBOXOS2VAC308_LDFLAGS))
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_INCS = \
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync $(PATH_DDKVIDEO)/rel/os2c/include/base/os2 \
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync $(PATH_DDKVIDEO)/rel/os2c/include/base/os2/16bit
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsyncTEMPLATE_VBOXOS2VAC308_LIBS = \
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync $(PATH_DDKVIDEO)/rel/os2c/lib/os2/os2386.lib \
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync $(PATH_TOOL_VAC308_LIB)/cppon30.lib
f7ac348ea0a65d69e3ddb443f5cb3f449e9ad825vboxsync