source: trunk/src/kWorker/Makefile.kmk@ 3188

Last change on this file since 3188 was 3188, checked in by bird, 7 years ago

kmk,lib,kWorker: Console output on windows cleanups.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.6 KB
Line 
1# $Id: Makefile.kmk 3188 2018-03-24 15:32:26Z bird $
2## @file
3# Sub-makefile for kWorker.
4#
5
6#
7# Copyright (c) 2016 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
8#
9# This file is part of kBuild.
10#
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.
15#
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.
20#
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/>
23#
24#
25
26
27SUB_DEPTH = ../..
28include $(PATH_KBUILD)/subheader.kmk
29
30
31PROGRAMS += kWorker
32kWorker_TEMPLATE = BIN-STATIC-THREADED
33kWorker_DEFS := KWORKER
34kWorker_DEFS.debug = K_STRICT
35kWorker_DEFS.release = NASSERT
36kWorker_SOURCES = \
37 kWorker.c \
38 ../kmk/kmkbuiltin/kDepObj.c
39kWorker_INCS = \
40 ../kmk/ \
41 ../kmk/kmkbuiltin
42kWorker_LIBS = \
43 $(kStuff_1_TARGET) \
44 $(kWorkerLib_1_TARGET)
45include $(KBUILD_PATH)/sdks/WINDDK71.kmk
46kWorker_LIBS.win = \
47 $(TEMPLATE_BIN-STATIC-THREADED_LIBS) \
48 $(PATH_SDK_WINDDK71_LIB_WNET)/ntdll.lib \
49 $(PATH_SDK_WINDDK71_LIB_WNET)/psapi.lib
50kWorker_LDFLAGS.win = \
51 /BASE:0x10000 /DYNAMICBASE:NO /FIXED
52#kWorker_LDFLAGS.win.x86 = \
53# /SAFESEH:NO - doesn't help anyone.
54
55
56#
57# Stuff from ../libs. Need to rebuilt it with static CRT.
58#
59LIBRARIES += kWorkerLib
60kWorkerLib_TEMPLATE = LIB-STATIC-THREADED
61kWorkerLib_DEFPATH = ../lib # Need fix from r2837.
62kWorkerLib_DEFPATH := $(PATH_SUB_CURRENT)/../lib
63kWorkerLib_DEFS := KWORKER
64kWorkerLib_SOURCES = \
65 crc32.c \
66 md5.c \
67 kbuild_version.c \
68 kDep.c
69kWorkerLib_SOURCES.win = \
70 nt_fullpath.c \
71 nt_fullpath_cached.c \
72 quoted_spawn.c \
73 nt/nthlpcore.c \
74 nt/nthlpfs.c \
75 nt/ntdir.c \
76 nt/ntstat.c \
77 nt/ntunlink.c \
78 nt/kFsCache.c \
79 quote_argv.c \
80 is_console.c \
81 maybe_con_write.c \
82 maybe_con_fwrite.c \
83 msc_buffered_printf.c
84kbuild_version.c_DEFS = KBUILD_SVN_REV=$(KBUILD_SVN_REV)
85
86#
87# kStuff library.
88#
89LIBRARIES += kStuff
90kStuff_TEMPLATE = LIB-STATIC-THREADED
91kStuff_DEFS.debug = K_STRICT
92kStuff_INCS = kStuff/include
93kStuff_DEFPATH = $(PATH_ROOT)/src/lib
94
95# kLdr
96kStuff_SOURCES += \
97 kStuff/kLdr/kLdr.c \
98 kStuff/kLdr/kLdrDyld.c \
99 kStuff/kLdr/kLdrDyldFind.c \
100 kStuff/kLdr/kLdrDyldMod.c \
101 kStuff/kLdr/kLdrDyldOS.c \
102 kStuff/kLdr/kLdrDyLdSem.c \
103 kStuff/kLdr/kLdrMod.c \
104 kStuff/kLdr/kLdrModLX.c \
105 kStuff/kLdr/kLdrModMachO.c \
106 kStuff/kLdr/kLdrModNative.c \
107 kStuff/kLdr/kLdrModPE.c
108kLdr_SOURCES.os2 += \
109 kStuff/kLdr/kLdr-os2.c \
110 kStuff/kLdr/kLdrA-os2.asm
111kLdr_SOURCES.win += \
112 kStuff/kLdr/kLdr-win.c
113
114# kRdr
115kStuff_SOURCES += \
116 kStuff/kRdr/kRdr.cpp \
117 kStuff/kRdr/kRdrFile.cpp \
118 kStuff/kRdr/kRdrBuffered.cpp
119
120# kCpu
121kStuff_SOURCES += \
122 kStuff/kCpu/kCpuCompare.c \
123 kStuff/kCpu/kCpuGetArchAndCpu.c
124
125# kHlp (CRT)
126kStuff_SOURCES += \
127 kStuff/kHlp/Generic/kHlpMemPComp.c \
128 kStuff/kHlp/Generic/kHlpMemICompAscii.c \
129 kStuff/kHlp/Generic/kHlpStrPCat.c \
130 kStuff/kHlp/Generic/kHlpStrNPCat.c \
131 kStuff/kHlp/Generic/kHlpStrPComp.c \
132 kStuff/kHlp/Generic/kHlpStrNPComp.c \
133 kStuff/kHlp/Generic/kHlpStrICompAscii.c \
134 kStuff/kHlp/Generic/kHlpStrIPCompAscii.c \
135 kStuff/kHlp/Generic/kHlpStrNICompAscii.c \
136 kStuff/kHlp/Generic/kHlpStrNIPCompAscii.c \
137 kStuff/kHlp/Generic/kHlpStrPCopy.c \
138 kStuff/kHlp/Generic/kHlpStrNLen.c \
139 kStuff/kHlp/Generic/kHlpInt2Ascii.c \
140 \
141 kStuff/kHlp/Generic/kHlpGetEnvUZ.c \
142 \
143 kStuff/kHlp/Generic/kHlpGetExt.c \
144 kStuff/kHlp/Generic/kHlpGetFilename.c \
145 kStuff/kHlp/Generic/kHlpIsFilenameOnly.c \
146 \
147 kStuff/kHlp/Generic/kHlpPage.c \
148 \
149 kStuff/kHlp/CRT/kHlpCRTAlloc.cpp \
150 kStuff/kHlp/CRT/kHlpCRTEnv.cpp \
151 kStuff/kHlp/CRT/kHlpCRTString.cpp
152kStuff_SOURCES.darwin += \
153 kStuff/kHlp/Bare/kHlpSys-darwin.c
154
155
156#
157# A couple of dummy DLLs we use for grabbing LDR TLS entries.
158#
159DLLS += kWorkerTls1K kWorkerTls64K kWorkerTls512K
160kWorkerTls1K_TEMPLATE = BIN-STATIC-THREADED
161kWorkerTls1K_DEFS = KWORKER_BASE=0x10000 TLS_SIZE=1024
162kWorkerTls1K_SOURCES = kWorkerTlsXxxK.c
163kWorkerTls1K_LDFLAGS = /Entry:DummyDllEntry
164
165kWorkerTls64K_TEMPLATE = BIN-STATIC-THREADED
166kWorkerTls64K_DEFS = KWORKER_BASE=0x10000 TLS_SIZE=65536
167kWorkerTls64K_SOURCES = kWorkerTlsXxxK.c
168kWorkerTls64K_LDFLAGS = /Entry:DummyDllEntry
169
170kWorkerTls512K_TEMPLATE = BIN-STATIC-THREADED
171kWorkerTls512K_DEFS = KWORKER_BASE=0x10000 TLS_SIZE=524288
172kWorkerTls512K_SOURCES = kWorkerTlsXxxK.c
173kWorkerTls512K_LDFLAGS = /Entry:DummyDllEntry
174
175
176include $(KBUILD_PATH)/subfooter.kmk
177
Note: See TracBrowser for help on using the repository browser.