VirtualBox

source: kStuff/trunk/Config.kmk@ 19

Last change on this file since 19 was 8, checked in by bird, 17 years ago

Use the static CRT on win.amd64 and avoid the manifest hell. Made some optimization adjustments for windows.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 4.5 KB
Line 
1# $Id: Config.kmk 8 2008-04-20 03:46:13Z bird $
2## @file
3# kBuild configuration for kStuff
4#
5
6#
7# Copyright (c) 2006-2007 knut st. osmundsen <bird-kStuff-spam@anduin.net>
8#
9# This file is part of kStuff.
10#
11# kStuff is free software; you can redistribute it and/or
12# modify it under the terms of the GNU Lesser General Public
13# License as published by the Free Software Foundation; either
14# version 2.1 of the License, or (at your option) any later version.
15#
16# kStuff is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19# Lesser General Public License for more details.
20#
21# You should have received a copy of the GNU Lesser General Public
22# License along with kStuff; if not, write to the Free Software
23# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24#
25
26#
27# This is where we install during the build.
28#
29PATH_INS := $(PATH_OUT)/kStuff
30
31
32#
33# Templates for the kStuff.
34#
35TEMPLATE_kStuff = kStuff Template
36TEMPLATE_kStuff_TOOL = GCC3
37TEMPLATE_kStuff_TOOL.darwin = GCC4MACHO
38TEMPLATE_kStuff_TOOL.os2 = GCC3OMF
39TEMPLATE_kStuff_TOOL.solaris = GCC3PLAIN
40TEMPLATE_kStuff_TOOL.win.x86 = VCC70
41TEMPLATE_kStuff_TOOL.win.amd64 = VCC80AMD64
42
43TEMPLATE_kStuff_SDKS.win.x86 = WINPSDK W2K3DDKX86
44TEMPLATE_kStuff_SDKS.win.amd64 = WINPSDK W2K3DDKAMD64
45
46TEMPLATE_kStuff_DEFS.freebsd = KS_OS_FREEBSD
47TEMPLATE_kStuff_DEFS.darwin = KS_OS_DARWIN
48TEMPLATE_kStuff_DEFS.linux = KS_OS_LINUX
49TEMPLATE_kStuff_DEFS.netbsd = KS_OS_NETBSD
50TEMPLATE_kStuff_DEFS.openbsd = KS_OS_OPENBSD
51TEMPLATE_kStuff_DEFS.os2 = KS_OS_OS2
52TEMPLATE_kStuff_DEFS.solaris = KS_OS_SOLARIS
53TEMPLATE_kStuff_DEFS.win = KS_OS_WINDOWS _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_WARNINGS
54
55TEMPLATE_kStuff_DEFS.x86 = KS_BITS=32
56TEMPLATE_kStuff_DEFS.amd64 = KS_BITS=64
57
58TEMPLATE_kStuff_INCS = $(PATH_ROOT)/include
59
60TEMPLATE_kStuff_ASTOOL = YASM
61TEMPLATE_kStuff_ASTOOL.os2 = NASM
62TEMPLATE_kStuff_ASFLAGS.freebsd = -f elf
63TEMPLATE_kStuff_ASFLAGS.linux = -f elf
64TEMPLATE_kStuff_ASFLAGS.os2 = -f omf
65TEMPLATE_kStuff_ASFLAGS.win.x86 = -f win32 -g cv8
66TEMPLATE_kStuff_ASFLAGS.win.amd64= -f win64 -g cv8
67
68TEMPLATE_kStuff_CFLAGS.darwin = -g -fno-common
69TEMPLATE_kStuff_CFLAGS.freebsd = -g
70TEMPLATE_kStuff_CFLAGS.linux = -g
71TEMPLATE_kStuff_CFLAGS.os2 = -g
72TEMPLATE_kStuff_CFLAGS.win = -Zi -Zl -W3 -GF -GR-
73TEMPLATE_kStuff_CFLAGS.win.x86 = -MD
74TEMPLATE_kStuff_CFLAGS.win.amd64 = -MT
75ifneq ($(BUILD_TYPE),debug)
76TEMPLATE_kStuff_CFLAGS.freebsd += -O3
77TEMPLATE_kStuff_CFLAGS.linux += -O3
78TEMPLATE_kStuff_CFLAGS.os2 += -O3
79TEMPLATE_kStuff_CFLAGS.win += -O2b2
80else
81TEMPLATE_kStuff_CFLAGS.win += -Od
82endif
83
84TEMPLATE_kStuff_CXXFLAGS.darwin = -g -fno-common
85TEMPLATE_kStuff_CXXFLAGS.freebsd = -g
86TEMPLATE_kStuff_CXXFLAGS.linux = -g
87TEMPLATE_kStuff_CXXFLAGS.os2 = -g
88TEMPLATE_kStuff_CXXFLAGS.win = -Zi -Zl -W3 -GF -GR-
89TEMPLATE_kStuff_CXXFLAGS.win.x86 = -MD
90TEMPLATE_kStuff_CXXFLAGS.win.amd64 = -MT
91ifneq ($(BUILD_TYPE),debug)
92TEMPLATE_kStuff_CXXFLAGS.freebsd+= -O3
93TEMPLATE_kStuff_CXXFLAGS.linux += -O3
94TEMPLATE_kStuff_CXXFLAGS.os2 += -O3
95TEMPLATE_kStuff_CXXFLAGS.win += -O2b2
96else
97TEMPLATE_kStuff_CXXFLAGS.win += -Od
98endif
99
100TEMPLATE_kStuff_LDFLAGS.freebsd = -g
101TEMPLATE_kStuff_LDFLAGS.linux = -g
102TEMPLATE_kStuff_LDFLAGS.os2 = -g
103TEMPLATE_kStuff_LDFLAGS.win = /DEBUG /NODEFAULTLIB
104
105TEMPLATE_kStuff_LIBS.freebsd =
106TEMPLATE_kStuff_LIBS.linux =
107TEMPLATE_kStuff_LIBS.os2 =
108TEMPLATE_kStuff_LIBS.win = \
109 $(PATH_SDK_WINPSDK_LIB)/psapi.Lib
110TEMPLATE_kStuff_LIBS.win.x86 = \
111 $(PATH_TOOL_VCC70_LIB)/msvcrt.lib \
112 $(PATH_TOOL_VCC70_LIB)/msvcprt.lib \
113 $(PATH_TOOL_VCC70_LIB)/oldnames.lib \
114 $(PATH_SDK_W2K3DDKX86_LIB)/ntdll.lib
115TEMPLATE_kStuff_LIBS.win.amd64 = \
116 $(PATH_TOOL_VCC80AMD64_LIB)/libcmt.lib \
117 $(PATH_TOOL_VCC80AMD64_LIB)/oldnames.lib \
118 $(PATH_SDK_W2K3DDKAMD64_LIB)/ntdll.lib
119
120TEMPLATE_kStuffEXE = kStuff Executable Template
121TEMPLATE_kStuffEXE_EXTENDS = kStuff
122TEMPLATE_kStuffEXE_DEFS = $(TEMPLATE_kStuff) KS_EXE_TARGET
123
124TEMPLATE_kStuffLIB = kStuff Library Template
125TEMPLATE_kStuffLIB_EXTENDS = kStuff
126TEMPLATE_kStuffLIB_DEFS = $(TEMPLATE_kStuff) KS_LIB_TARGET
127
128TEMPLATE_kStuffDLL = kStuff DLL Template
129TEMPLATE_kStuffDLL_EXTENDS = kStuff
130TEMPLATE_kStuffDLL_DEFS = $(TEMPLATE_kStuff) KS_DLL_TARGET
131TEMPLATE_kStuffDLL_LDFLAGS.os2 = $(TEMPLATE_kStuff_LDFLAGS.os2) -Zdll
132
133
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette