grep/dfa.c: Workaround for Visual C++ 2022 (amd64) optimizer bug. (same as sed)
[kbuild-mirror.git] / Makefile.kmk
blob40c383283f74c50a08d44c5764e934810f6199a1
1 # $Id$
2 ## @file
3 # Top-Level Sub-Makefile for kBuild.
7 # Copyright (c) 2005-2024 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
9 # This file is part of kBuild.
11 # kBuild is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation; either version 3 of the License, or
14 # (at your option) any later version.
16 # kBuild 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
19 # GNU General Public License for more details.
21 # You should have received a copy of the GNU General Public License
22 # along with kBuild. If not, see <http://www.gnu.org/licenses/>
26 SUB_DEPTH = .
27 include $(KBUILD_PATH)/subheader.kmk
29 include $(PATH_SUB_CURRENT)/src/Makefile.kmk
32 ifdef NIX_INSTALL_DIR
34 # When doing a unix install, install all the kBuild scripts and docs.
35 # TODO: Make this default and make it possible to disable it for in-tree development.
37 INSTALLS += kBuild-data
38 kBuild-data_TEMPLATE = DATA
39 kBuild-data_SOURCES := \
40 $(wildcard \
41 kBuild/*.kmk \
42 ) \
43 $(foreach src,\
44 $(wildcard \
45 kBuild/tools/*.kmk \
46 kBuild/sdks/*.kmk \
47 kBuild/units/*.kmk \
48 kBuild/msgstyles/*.kmk \
49 kBuild/templates/*.kmk),\
50 $(src)=>$(subst kBuild/,,$(src)))
52 INSTALLS += kBuild-doc
53 kBuild-doc_TEMPLATE = DOC
54 kBuild-doc_SOURCES := $(wildcard \
55 kBuild/doc/*.txt \
56 kBuild/doc/*.html \
58 endif
61 # And install any binary only tools and dlls.
62 # TODO: Ship env.sh and envos2.cmd / envwin.cmd where applicable.
64 INSTALLS += kBuild_bin
65 kBuild_bin_INST = $(TEMPLATE_BIN_INST)
66 kBuild_bin_SOURCES =
68 kBuild_bin_SOURCES.os2 = \
69 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc06.dll=>libc06.dll \
70 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc061.dll=>libc061.dll \
71 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc062.dll=>libc062.dll \
72 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc063.dll=>libc063.dll \
73 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc064.dll=>libc064.dll \
74 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/libc065.dll=>libc065.dll
76 if1of ($(KBUILD_TARGET), nt win)
77 ifndef KBUILD_NEW_VCC
78 kBuild_bin_SOURCES.$(KBUILD_TARGET) = \
79 kBuild/bin/$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/msvcr100.dll
80 endif
81 kBuild_bin_SOURCES.profile = \
82 D:/coding/kStuff/svn/trunk/out/win.$(KBUILD_TARGET_ARCH)/release/kStuff/bin/kPrf2.dll \
83 D:/coding/kStuff/svn/trunk/out/win.$(KBUILD_TARGET_ARCH)/release/kStuff/bin/kPrf2WinApiWrappers.dll
84 endif
87 include $(FILE_KBUILD_SUB_FOOTER)