source: mainline/boot/Makefile.common@ 8df0306

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 8df0306 was 13eecc4, checked in by Jakub Jermar <jakub@…>, 6 years ago

Add virtio-blk driver

  • Property mode set to 100644
File size: 6.0 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 klog
97
98ifeq ($(CONFIG_FB), y)
99 RD_SRVS_ESSENTIAL += \
100 hid/compositor
101endif
102
103RD_SRVS_NON_ESSENTIAL = \
104 bd/file_bd \
105 bd/sata_bd \
106 bd/vbd \
107 clipboard \
108 fs/tmpfs \
109 fs/fat \
110 fs/mfs \
111 fs/cdfs \
112 fs/exfat \
113 fs/udf \
114 fs/ext4fs \
115 hid/remcons \
116 hid/isdv4_tablet \
117 hid/rfb \
118 net/dhcp \
119 net/dnsrsrv \
120 net/ethip \
121 net/inetsrv \
122 net/loopip \
123 net/nconfsrv \
124 net/slip \
125 net/tcp \
126 net/udp \
127 taskmon \
128 test/chardev-test \
129 test/ipc-test \
130 volsrv
131
132RD_DRVS_ESSENTIAL = \
133 root/root \
134 root/virt \
135 fb/kfb
136
137RD_DRVS_NON_ESSENTIAL = \
138 test/test1 \
139 test/test2 \
140 test/test3 \
141 nic/ne2k \
142 nic/e1k \
143 nic/rtl8139 \
144 nic/rtl8169 \
145 nic/ar9271 \
146 nic/virtio-net \
147 block/ahci \
148 block/virtio-blk
149
150RD_DRV_CFG =
151
152RD_DRVS_FW_NON_ESSENTIAL = \
153 nic/ar9271
154
155RD_LIBS =
156
157ifeq ($(CONFIG_DEVEL_FILES), y)
158 RD_LIBS += \
159 $(USPACE_PATH)/lib/c/libc.a
160endif
161
162ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
163 RD_LIBS += \
164 $(USPACE_PATH)/lib/c/libc.so.0 \
165 $(USPACE_PATH)/lib/math/libmath.so.0 \
166 $(USPACE_PATH)/lib/dltest/libdltest.so.0
167endif
168
169RD_APPS_ESSENTIAL = \
170 bdsh \
171 getterm \
172 kio
173
174ifeq ($(CONFIG_FB), y)
175 RD_APPS_ESSENTIAL += \
176 vlaunch \
177 vterm
178endif
179
180RD_APPS_NON_ESSENTIAL = \
181 barber \
182 bithenge \
183 blkdump \
184 contacts \
185 corecfg \
186 cpptest \
187 devctl \
188 dnscfg \
189 dnsres \
190 download \
191 edit \
192 fdisk \
193 gunzip \
194 hbench \
195 inet \
196 kill \
197 killall \
198 loc \
199 lprint \
200 mixerctl \
201 modplay \
202 logset \
203 mkfat \
204 mkexfat \
205 mkext4 \
206 mkmfs \
207 nic \
208 sbi \
209 sportdmp \
210 redir \
211 taskdump \
212 tester \
213 testread \
214 testrunner \
215 testwrit \
216 tetris \
217 tmon \
218 trace \
219 netecho \
220 nterm \
221 pci \
222 ping \
223 pkg \
224 stats \
225 sysinfo \
226 sysinst \
227 top \
228 untar \
229 usbinfo \
230 vol \
231 vuhid \
232 mkbd \
233 websrv \
234 date \
235 vcalc \
236 vdemo \
237 viewer \
238 df \
239 fontviewer \
240 wifi_supplicant
241
242ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
243 RD_APPS_NON_ESSENTIAL += dltest dltests
244endif
245
246RD_TESTS = \
247 $(USPACE_PATH)/lib/c/test-libc \
248 $(USPACE_PATH)/lib/label/test-liblabel \
249 $(USPACE_PATH)/lib/posix/test-libposix \
250 $(USPACE_PATH)/lib/sif/test-libsif \
251 $(USPACE_PATH)/lib/uri/test-liburi \
252 $(USPACE_PATH)/lib/math/test-libmath \
253 $(USPACE_PATH)/drv/bus/usb/xhci/test-xhci \
254 $(USPACE_PATH)/app/bdsh/test-bdsh \
255 $(USPACE_PATH)/srv/net/tcp/test-tcp \
256 $(USPACE_PATH)/srv/volsrv/test-volsrv \
257
258RD_DATA_ESSENTIAL = \
259 $(USPACE_PATH)/app/bdsh/demo.txt
260
261RD_DATA_NON_ESSENTIAL = \
262 $(USPACE_PATH)/app/modplay/demo.xm \
263 $(USPACE_PATH)/app/viewer/logo.tga
264
265
266COMPONENTS = \
267 $(KERNEL_PATH)/kernel.elf \
268 $(INIT_TASKS) \
269 $(INITRD).img
270
271
272LINK = arch/$(BARCH)/_link.ld
273COMP = component
274COMPS = $(COMP)s
275
276-include arch/$(BARCH)/Makefile.inc
277
278ifeq ($(CONFIG_BAREBONE),y)
279 RD_SRVS = $(RD_SRVS_ESSENTIAL)
280 RD_APPS = $(RD_APPS_ESSENTIAL)
281 RD_DRVS = $(RD_DRVS_ESSENTIAL)
282 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL)
283 RD_DATA = $(RD_DATA_ESSENTIAL)
284else
285 RD_SRVS = $(RD_SRVS_ESSENTIAL) $(RD_SRVS_NON_ESSENTIAL)
286 RD_APPS = $(RD_APPS_ESSENTIAL) $(RD_APPS_NON_ESSENTIAL)
287 RD_DRVS = $(RD_DRVS_ESSENTIAL) $(RD_DRVS_NON_ESSENTIAL)
288 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL) $(RD_DRVS_FW_NON_ESSENTIAL)
289 RD_DATA = $(RD_DATA_ESSENTIAL) $(RD_DATA_NON_ESSENTIAL)
290endif
291
292MODULES := $(notdir $(COMPONENTS))
293
294BOOT_OUTPUT ?= $(ROOT_PATH)/image.boot
295RAW ?= image.raw
296JOB ?= image.job
297MAP ?= image.map
298BUILD ?= Makefile.build
Note: See TracBrowser for help on using the repository browser.