source: mainline/boot/Makefile.common@ 705ca2b

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 705ca2b 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
RevLine 
[81235588]1#
[4872160]2# Copyright (c) 2006 Martin Decky
[81235588]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
[4872160]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
[53238ba]49DIST_OVERLAY_PATH = $(USPACE_PATH)/overlay
[4872160]50TOOLS_PATH = $(ROOT_PATH)/tools
[a79d88d]51DRVS_PATH = drv
[4872160]52
[4646710]53MKARRAY = $(TOOLS_PATH)/mkarray.py
[4872160]54MKFAT = $(TOOLS_PATH)/mkfat.py
[d06c4ae]55MKEXT4 = $(TOOLS_PATH)/mkext4.py
[928d983]56MKUIMAGE = $(TOOLS_PATH)/mkuimage.py
[4872160]57
[7f881cd8]58ifeq ($(PRECHECK),y)
59 JOBFILE = $(TOOLS_PATH)/jobfile.py
[95d45482]60 # NOTE: You must not change the order of arguments.
[7f881cd8]61 CC_JOB = $(JOBFILE) $(JOB) $(CC) $< -o $@
62else
63 CC_JOB = $(CC) $< -o $@
64endif
[4872160]65
66DISTROOT = distroot
[81235588]67INITRD = initrd
68
69INIT_TASKS = \
[4872160]70 $(USPACE_PATH)/srv/ns/ns \
71 $(USPACE_PATH)/srv/loader/loader \
72 $(USPACE_PATH)/app/init/init \
[32d96e1]73 $(USPACE_PATH)/srv/locsrv/locsrv \
[4872160]74 $(USPACE_PATH)/srv/bd/rd/rd \
[1f2dd20]75 $(USPACE_PATH)/srv/vfs/vfs \
76 $(USPACE_PATH)/srv/logger/logger
[14f1db0]77
[81235588]78ifeq ($(RDFMT),tmpfs)
[4872160]79 INIT_TASKS += $(USPACE_PATH)/srv/fs/tmpfs/tmpfs
[81235588]80endif
[14f1db0]81
[81235588]82ifeq ($(RDFMT),fat)
[4872160]83 INIT_TASKS += $(USPACE_PATH)/srv/fs/fat/fat
[81235588]84endif
85
[d06c4ae]86ifeq ($(RDFMT),ext4fs)
87 INIT_TASKS += $(USPACE_PATH)/srv/fs/ext4fs/ext4fs
[cc1a727]88endif
89
[fa9616b4]90RD_SRVS_ESSENTIAL = \
[8fefd8b]91 hid/input \
92 hid/output \
93 hid/console \
94 devman \
95 fs/locfs \
96 hid/compositor \
97 klog
[fa9616b4]98
99RD_SRVS_NON_ESSENTIAL = \
[8fefd8b]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
[5203e256]126
[bd250b0f]127RD_DRVS_ESSENTIAL = \
[2a37b9f]128 root/root \
129 root/virt \
[81ee1009]130 fb/kfb
[bd250b0f]131
132RD_DRVS_NON_ESSENTIAL = \
[5203e256]133 test/test1 \
134 test/test2 \
[00d7e1b]135 test/test3 \
[c4be33a]136 nic/ne2k \
[f0b74b2]137 nic/e1k \
[9904eb90]138 nic/rtl8139 \
[90782c36]139 nic/rtl8169 \
[8a64320e]140 nic/ar9271 \
[6413967]141 nic/virtio-net \
[9904eb90]142 block/ahci
[c47e1a8]143
[5203e256]144RD_DRV_CFG =
[14f1db0]145
[8a64320e]146RD_DRVS_FW_NON_ESSENTIAL = \
147 nic/ar9271
[864762a]148
[7fb3f1c]149RD_LIBS =
150
[a8010272]151ifeq ($(CONFIG_DEVEL_FILES), y)
152 RD_LIBS += \
[954c024]153 $(USPACE_PATH)/lib/c/libc.a
[a8010272]154endif
155
[ec3e2ed0]156ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
[5b72635]157 RD_LIBS += \
[e2e9a8a]158 $(USPACE_PATH)/lib/c/libc.so.0 \
[9182e86f]159 $(USPACE_PATH)/lib/math/libmath.so.0 \
160 $(USPACE_PATH)/lib/dltest/libdltest.so.0
[04803bf]161endif
162
[0e8c158]163RD_APPS_ESSENTIAL = bdsh getterm kio vlaunch vterm
[fa9616b4]164
165RD_APPS_NON_ESSENTIAL = \
[0e8c158]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 \
[209cd41]200 testrunner \
[0e8c158]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
[4872160]226
[9182e86f]227ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
[0e8c158]228 RD_APPS_NON_ESSENTIAL += dltest dltests
[9182e86f]229endif
230
[01579ad]231RD_TESTS = \
[d848752]232 $(USPACE_PATH)/lib/c/test-libc \
[80da8f70]233 $(USPACE_PATH)/lib/label/test-liblabel \
[eeb23f2d]234 $(USPACE_PATH)/lib/posix/test-libposix \
[9c5e3a5]235 $(USPACE_PATH)/lib/sif/test-libsif \
[da4e695]236 $(USPACE_PATH)/lib/uri/test-liburi \
[516e780]237 $(USPACE_PATH)/lib/math/test-libmath \
[48197c1]238 $(USPACE_PATH)/drv/bus/usb/xhci/test-xhci \
[8ebc5b8a]239 $(USPACE_PATH)/app/bdsh/test-bdsh \
[64ffd83]240 $(USPACE_PATH)/srv/net/tcp/test-tcp \
241 $(USPACE_PATH)/srv/volsrv/test-volsrv \
[01579ad]242
[356c386]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
[01579ad]250
[81235588]251COMPONENTS = \
[cfdeedc]252 $(KERNEL_PATH)/kernel.elf \
[4872160]253 $(INIT_TASKS) \
254 $(INITRD).img
[14f1db0]255
[94c05b89]256
[4872160]257LINK = arch/$(BARCH)/_link.ld
[4646710]258COMP = component
259COMPS = $(COMP)s
[14f1db0]260
[4872160]261-include arch/$(BARCH)/Makefile.inc
[21580dd]262
[15b592b]263ifeq ($(CONFIG_BAREBONE),y)
[5f53428a]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)
[fa9616b4]269else
[5f53428a]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)
[fa9616b4]275endif
276
[4872160]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.