1 | # $Id: Config.kmk 98103 2023-01-17 14:15:46Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # kBuild Configuration file for the OS/2 Guest Additions.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox base platform packages, as
|
---|
10 | # available from https://www.virtualbox.org.
|
---|
11 | #
|
---|
12 | # This program is free software; you can redistribute it and/or
|
---|
13 | # modify it under the terms of the GNU General Public License
|
---|
14 | # as published by the Free Software Foundation, in version 3 of the
|
---|
15 | # License.
|
---|
16 | #
|
---|
17 | # This program is distributed in the hope that it will be useful, but
|
---|
18 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
20 | # General Public License for more details.
|
---|
21 | #
|
---|
22 | # You should have received a copy of the GNU General Public License
|
---|
23 | # along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
24 | #
|
---|
25 | # SPDX-License-Identifier: GPL-3.0-only
|
---|
26 | #
|
---|
27 |
|
---|
28 | ifdef VBOX_ADDITIONS_OS2_CONFIG_KMK_INCLUDED
|
---|
29 | $(error oops.)
|
---|
30 | endif
|
---|
31 | VBOX_ADDITIONS_OS2_CONFIG_KMK_INCLUDED = true
|
---|
32 |
|
---|
33 | # Include the top-level configure file.
|
---|
34 | ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
|
---|
35 | include $(PATH_ROOT)/Config.kmk
|
---|
36 | endif
|
---|
37 |
|
---|
38 | ## FIXME
|
---|
39 | PATH_DDKVIDEO ?= D:/ddk/200402/video
|
---|
40 | PATH_DDKBASE ?= D:/ddk/200402/base
|
---|
41 | TOOL_MASM510_AS ?= $(PATH_DDKBASE)/tools/masm.exe
|
---|
42 | TOOL_MSLINK510_LD ?= $(PATH_DDKBASE)/tools/link.exe
|
---|
43 | PATH_TOOL_VAC308 ?= D:/VACpp/v3.08
|
---|
44 | PATH_TOOL_ALP ?= D:/Toolkit/v4.52/bin
|
---|
45 |
|
---|
46 | #
|
---|
47 | # Template for VAC308 Gradd stuff.
|
---|
48 | #
|
---|
49 | TEMPLATE_VBOXOS2VAC308 = Template for VisualAge for C++ v3.08 / Gradd
|
---|
50 | TEMPLATE_VBOXOS2VAC308_TOOL = VAC308
|
---|
51 | TEMPLATE_VBOXOS2VAC308_ASTOOL = ALP
|
---|
52 | TEMPLATE_VBOXOS2VAC308_ARTOOL = GCC3OMF
|
---|
53 | TEMPLATE_VBOXOS2VAC308_INST = $(INST_ADDITIONS)
|
---|
54 | TEMPLATE_VBOXOS2VAC308_DEFS = RT_OS_OS2 IN_RING3 ## @todo IN_GUEST IN_GUEST_R3 IN_RT_R3
|
---|
55 |
|
---|
56 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Gn+ # Do not generate default libraries in object.
|
---|
57 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Gr+ # Allow object code to run at ring 0.
|
---|
58 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Rn # Produce code to run with no runtime environment.
|
---|
59 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Sp1 # Pack aggregate members on 1 byte alignment.
|
---|
60 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Tm- # No debug memory management.
|
---|
61 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Q+ # Suppress the logo. (in VAC308.kmk?)
|
---|
62 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /C+ # Perform compile only, no link. (in VAC308.kmk?)
|
---|
63 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Ss+ # Allow the double slash (//) format to be used for comments. (C only)
|
---|
64 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /G5 # Generate code optimized for use on a Pentium processor.
|
---|
65 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Ti+ # Generate debugging information.
|
---|
66 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /O+ # Optimize generated code.
|
---|
67 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Oi+ # Turn on function inlining.
|
---|
68 | TEMPLATE_VBOXOS2VAC308_CFLAGS += /Ge- # Use the version of the runtime library that assumes a DLL is being built. (_DLL_InitTerm++)
|
---|
69 | TEMPLATE_VBOXOS2VAC308_CFLAGS := $(strip $(TEMPLATE_VBOXOS2VAC308_CFLAGS))
|
---|
70 | TEMPLATE_VBOXOS2VAC308_CXXFLAGS = $(VBoxGradd_CFLAGS)
|
---|
71 |
|
---|
72 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Nologo" # Quiet! (ILINK308.kmk?)
|
---|
73 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Debug" # Debug info (ILINK308.kmk?)
|
---|
74 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Map" # Generate map file (ILINK308.kmk?)
|
---|
75 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Linenumbers" # Map file with linenumbers.
|
---|
76 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Exepack:2" # Compress the file using exepack 2.
|
---|
77 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/Alignment:32" # Pack LX pages on 32 byte boundaries (default is 512 bytes).
|
---|
78 | TEMPLATE_VBOXOS2VAC308_LDFLAGS += -B"/NoDefaultLibrarySearch"
|
---|
79 | TEMPLATE_VBOXOS2VAC308_LDFLAGS := $(strip $(TEMPLATE_VBOXOS2VAC308_LDFLAGS))
|
---|
80 |
|
---|
81 | TEMPLATE_VBOXOS2VAC308_INCS = \
|
---|
82 | $(PATH_DDKVIDEO)/rel/os2c/include/base/os2 \
|
---|
83 | $(PATH_DDKVIDEO)/rel/os2c/include/base/os2/16bit
|
---|
84 |
|
---|
85 | TEMPLATE_VBOXOS2VAC308_LIBS = \
|
---|
86 | $(PATH_DDKVIDEO)/rel/os2c/lib/os2/os2386.lib \
|
---|
87 | $(PATH_TOOL_VAC308_LIB)/cppon30.lib
|
---|
88 |
|
---|