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

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

kmkbuiltin: funnel output thru output.c (usually via err.c).

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