source: mainline/boot/Makefile.common@ 17aa6d1

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 17aa6d1 was 95d45482, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 7 years ago

XXX to NOTE

  • Property mode set to 100644
File size: 5.8 KB
Line 
1#
2# Copyright (c) 2006 Martin Decky
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# - Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# - Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# - The name of the author may not be used to endorse or promote products
15# derived from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
29## Configuration
30#
31
32ROOT_PATH = ..
33
34VERSION_DEF = $(ROOT_PATH)/version
35
36COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common
37COMMON_HEADER = $(ROOT_PATH)/common.h
38
39CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config
40CONFIG_HEADER = $(ROOT_PATH)/config.h
41
42-include $(VERSION_DEF)
43-include $(COMMON_MAKEFILE)
44-include $(CONFIG_MAKEFILE)
45
46KERNEL_PATH = $(ROOT_PATH)/kernel
47USPACE_PATH = $(ROOT_PATH)/uspace
48DIST_PATH = $(USPACE_PATH)/dist
49DIST_OVERLAY_PATH = $(USPACE_PATH)/overlay
50TOOLS_PATH = $(ROOT_PATH)/tools
51DRVS_PATH = drv
52
53MKARRAY = $(TOOLS_PATH)/mkarray.py
54MKFAT = $(TOOLS_PATH)/mkfat.py
55MKEXT4 = $(TOOLS_PATH)/mkext4.py
56MKUIMAGE = $(TOOLS_PATH)/mkuimage.py
57
58ifeq ($(PRECHECK),y)
59 JOBFILE = $(TOOLS_PATH)/jobfile.py
60 # NOTE: You must not change the order of arguments.
61 CC_JOB = $(JOBFILE) $(JOB) $(CC) $< -o $@
62else
63 CC_JOB = $(CC) $< -o $@
64endif
65
66DISTROOT = distroot
67INITRD = initrd
68
69INIT_TASKS = \
70 $(USPACE_PATH)/srv/ns/ns \
71 $(USPACE_PATH)/srv/loader/loader \
72 $(USPACE_PATH)/app/init/init \
73 $(USPACE_PATH)/srv/locsrv/locsrv \
74 $(USPACE_PATH)/srv/bd/rd/rd \
75 $(USPACE_PATH)/srv/vfs/vfs \
76 $(USPACE_PATH)/srv/logger/logger
77
78ifeq ($(RDFMT),tmpfs)
79 INIT_TASKS += $(USPACE_PATH)/srv/fs/tmpfs/tmpfs
80endif
81
82ifeq ($(RDFMT),fat)
83 INIT_TASKS += $(USPACE_PATH)/srv/fs/fat/fat
84endif
85
86ifeq ($(RDFMT),ext4fs)
87 INIT_TASKS += $(USPACE_PATH)/srv/fs/ext4fs/ext4fs
88endif
89
90RD_SRVS_ESSENTIAL = \
91 hid/input \
92 hid/output \
93 hid/console \
94 devman \
95 fs/locfs \
96 hid/compositor \
97 klog
98
99RD_SRVS_NON_ESSENTIAL = \
100 bd/file_bd \
101 bd/sata_bd \
102 bd/vbd \
103 clipboard \
104 fs/tmpfs \
105 fs/fat \
106 fs/mfs \
107 fs/cdfs \
108 fs/exfat \
109 fs/udf \
110 fs/ext4fs \
111 hid/remcons \
112 hid/isdv4_tablet \
113 hid/rfb \
114 net/dhcp \
115 net/dnsrsrv \
116 net/ethip \
117 net/inetsrv \
118 net/loopip \
119 net/nconfsrv \
120 net/slip \
121 net/tcp \
122 net/udp \
123 taskmon \
124 test/chardev-test \
125 volsrv
126
127RD_DRVS_ESSENTIAL = \
128 root/root \
129 root/virt \
130 fb/kfb
131
132RD_DRVS_NON_ESSENTIAL = \
133 test/test1 \
134 test/test2 \
135 test/test3 \
136 nic/ne2k \
137 nic/e1k \
138 nic/rtl8139 \
139 nic/rtl8169 \
140 nic/ar9271 \
141 nic/virtio-net \
142 block/ahci
143
144RD_DRV_CFG =
145
146RD_DRVS_FW_NON_ESSENTIAL = \
147 nic/ar9271
148
149RD_LIBS =
150
151ifeq ($(CONFIG_DEVEL_FILES), y)
152 RD_LIBS += \
153 $(USPACE_PATH)/lib/c/libc.a
154endif
155
156ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
157 RD_LIBS += \
158 $(USPACE_PATH)/lib/c/libc.so.0 \
159 $(USPACE_PATH)/lib/math/libmath.so.0 \
160 $(USPACE_PATH)/lib/dltest/libdltest.so.0
161endif
162
163RD_APPS_ESSENTIAL = bdsh getterm kio vlaunch vterm
164
165RD_APPS_NON_ESSENTIAL = \
166 barber \
167 bithenge \
168 blkdump \
169 bnchmark \
170 contacts \
171 corecfg \
172 cpptest \
173 devctl \
174 dnscfg \
175 dnsres \
176 download \
177 edit \
178 fdisk \
179 gunzip \
180 inet \
181 kill \
182 killall \
183 loc \
184 mixerctl \
185 modplay \
186 logset \
187 mkfat \
188 mkexfat \
189 mkext4 \
190 mkmfs \
191 nic \
192 rcutest \
193 rcubench \
194 sbi \
195 sportdmp \
196 redir \
197 taskdump \
198 tester \
199 testread \
200 testrunner \
201 testwrit \
202 tetris \
203 tmon \
204 trace \
205 netecho \
206 nterm \
207 ping \
208 pkg \
209 stats \
210 sysinfo \
211 sysinst \
212 top \
213 untar \
214 usbinfo \
215 vol \
216 vuhid \
217 mkbd \
218 websrv \
219 date \
220 vcalc \
221 vdemo \
222 viewer \
223 df \
224 fontviewer \
225 wifi_supplicant
226
227ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
228 RD_APPS_NON_ESSENTIAL += dltest dltests
229endif
230
231RD_TESTS = \
232 $(USPACE_PATH)/lib/c/test-libc \
233 $(USPACE_PATH)/lib/label/test-liblabel \
234 $(USPACE_PATH)/lib/posix/test-libposix \
235 $(USPACE_PATH)/lib/sif/test-libsif \
236 $(USPACE_PATH)/lib/uri/test-liburi \
237 $(USPACE_PATH)/lib/math/test-libmath \
238 $(USPACE_PATH)/drv/bus/usb/xhci/test-xhci \
239 $(USPACE_PATH)/app/bdsh/test-bdsh \
240 $(USPACE_PATH)/srv/net/tcp/test-tcp \
241 $(USPACE_PATH)/srv/volsrv/test-volsrv \
242
243RD_DATA_ESSENTIAL = \
244 $(USPACE_PATH)/app/bdsh/demo.txt
245
246RD_DATA_NON_ESSENTIAL = \
247 $(USPACE_PATH)/app/modplay/demo.xm \
248 $(USPACE_PATH)/app/viewer/logo.tga
249
250
251COMPONENTS = \
252 $(KERNEL_PATH)/kernel.elf \
253 $(INIT_TASKS) \
254 $(INITRD).img
255
256
257LINK = arch/$(BARCH)/_link.ld
258COMP = component
259COMPS = $(COMP)s
260
261-include arch/$(BARCH)/Makefile.inc
262
263ifeq ($(CONFIG_BAREBONE),y)
264 RD_SRVS = $(RD_SRVS_ESSENTIAL)
265 RD_APPS = $(RD_APPS_ESSENTIAL)
266 RD_DRVS = $(RD_DRVS_ESSENTIAL)
267 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL)
268 RD_DATA = $(RD_DATA_ESSENTIAL)
269else
270 RD_SRVS = $(RD_SRVS_ESSENTIAL) $(RD_SRVS_NON_ESSENTIAL)
271 RD_APPS = $(RD_APPS_ESSENTIAL) $(RD_APPS_NON_ESSENTIAL)
272 RD_DRVS = $(RD_DRVS_ESSENTIAL) $(RD_DRVS_NON_ESSENTIAL)
273 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL) $(RD_DRVS_FW_NON_ESSENTIAL)
274 RD_DATA = $(RD_DATA_ESSENTIAL) $(RD_DATA_NON_ESSENTIAL)
275endif
276
277MODULES := $(notdir $(COMPONENTS))
278
279BOOT_OUTPUT ?= $(ROOT_PATH)/image.boot
280RAW ?= image.raw
281JOB ?= image.job
282MAP ?= image.map
283BUILD ?= Makefile.build
Note: See TracBrowser for help on using the repository browser.