source: mainline/boot/Makefile.common@ 6cad776

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 6cad776 was f9d0a86, checked in by Aearsis <Hlavaty.Ondrej@…>, 8 years ago

Merge tag '0.7.1'

The merge wasn't clean, because of changes in build system. The most
significant change was partial revert of usbhc callback refactoring,
which now does not take usb transfer batch, but few named fields again.

  • Property mode set to 100644
File size: 8.2 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
54MKTMPFS = $(TOOLS_PATH)/mktmpfs.py
55MKFAT = $(TOOLS_PATH)/mkfat.py
56MKEXT4 = $(TOOLS_PATH)/mkext4.py
57MKUIMAGE = $(TOOLS_PATH)/mkuimage.py
58
59ifeq ($(PRECHECK),y)
60 JOBFILE = $(TOOLS_PATH)/jobfile.py
61 # XXX: Do not change the order of arguments.
62 CC_JOB = $(JOBFILE) $(JOB) $(CC) $< -o $@
63else
64 CC_JOB = $(CC) $< -o $@
65endif
66
67DISTROOT = distroot
68INITRD = initrd
69
70INIT_TASKS = \
71 $(USPACE_PATH)/srv/ns/ns \
72 $(USPACE_PATH)/srv/loader/loader \
73 $(USPACE_PATH)/app/init/init \
74 $(USPACE_PATH)/srv/locsrv/locsrv \
75 $(USPACE_PATH)/srv/bd/rd/rd \
76 $(USPACE_PATH)/srv/vfs/vfs \
77 $(USPACE_PATH)/srv/logger/logger
78
79ifeq ($(RDFMT),tmpfs)
80 INIT_TASKS += $(USPACE_PATH)/srv/fs/tmpfs/tmpfs
81endif
82
83ifeq ($(RDFMT),fat)
84 INIT_TASKS += $(USPACE_PATH)/srv/fs/fat/fat
85endif
86
87ifeq ($(RDFMT),ext4fs)
88 INIT_TASKS += $(USPACE_PATH)/srv/fs/ext4fs/ext4fs
89endif
90
91RD_SRVS_ESSENTIAL = \
92 $(USPACE_PATH)/srv/hid/input/input \
93 $(USPACE_PATH)/srv/hid/output/output \
94 $(USPACE_PATH)/srv/hid/console/console \
95 $(USPACE_PATH)/srv/devman/devman \
96 $(USPACE_PATH)/srv/fs/locfs/locfs \
97 $(USPACE_PATH)/srv/hid/compositor/compositor \
98 $(USPACE_PATH)/srv/klog/klog
99
100RD_SRVS_NON_ESSENTIAL = \
101 $(USPACE_PATH)/srv/bd/file_bd/file_bd \
102 $(USPACE_PATH)/srv/bd/sata_bd/sata_bd \
103 $(USPACE_PATH)/srv/bd/vbd/vbd \
104 $(USPACE_PATH)/srv/clipboard/clipboard \
105 $(USPACE_PATH)/srv/fs/tmpfs/tmpfs \
106 $(USPACE_PATH)/srv/fs/fat/fat \
107 $(USPACE_PATH)/srv/fs/mfs/mfs \
108 $(USPACE_PATH)/srv/fs/cdfs/cdfs \
109 $(USPACE_PATH)/srv/fs/exfat/exfat \
110 $(USPACE_PATH)/srv/fs/udf/udf \
111 $(USPACE_PATH)/srv/fs/ext4fs/ext4fs \
112 $(USPACE_PATH)/srv/hid/remcons/remcons \
113 $(USPACE_PATH)/srv/hid/isdv4_tablet/isdv4_tablet \
114 $(USPACE_PATH)/srv/hid/rfb/rfb \
115 $(USPACE_PATH)/srv/net/dhcp/dhcp \
116 $(USPACE_PATH)/srv/net/dnsrsrv/dnsrsrv \
117 $(USPACE_PATH)/srv/net/ethip/ethip \
118 $(USPACE_PATH)/srv/net/inetsrv/inetsrv \
119 $(USPACE_PATH)/srv/net/loopip/loopip \
120 $(USPACE_PATH)/srv/net/nconfsrv/nconfsrv \
121 $(USPACE_PATH)/srv/net/slip/slip \
122 $(USPACE_PATH)/srv/net/tcp/tcp \
123 $(USPACE_PATH)/srv/net/udp/udp \
124 $(USPACE_PATH)/srv/taskmon/taskmon \
125 $(USPACE_PATH)/srv/volsrv/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 block/ahci
142
143RD_DRV_CFG =
144
145RD_DRVS_FW_NON_ESSENTIAL = \
146 nic/ar9271
147
148RD_LIBS =
149
150ifeq ($(CONFIG_DEVEL_FILES), y)
151 RD_LIBS += \
152 $(USPACE_PATH)/lib/c/libc.a \
153 $(USPACE_PATH)/lib/softint/libsoftint.a \
154 $(USPACE_PATH)/lib/softfloat/libsoftfloat.a
155endif
156
157ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
158 RD_LIBS += \
159 $(USPACE_PATH)/lib/c/libc.so.0 \
160 $(USPACE_PATH)/lib/softint/libsoftint.so.0 \
161 $(USPACE_PATH)/lib/math/libmath.so.0 \
162 $(USPACE_PATH)/lib/dltest/libdltest.so.0
163endif
164
165RD_APPS_ESSENTIAL = \
166 $(USPACE_PATH)/app/bdsh/bdsh \
167 $(USPACE_PATH)/app/getterm/getterm \
168 $(USPACE_PATH)/app/kio/kio \
169 $(USPACE_PATH)/app/vlaunch/vlaunch \
170 $(USPACE_PATH)/app/vterm/vterm
171
172RD_APPS_NON_ESSENTIAL = \
173 $(USPACE_PATH)/app/barber/barber \
174 $(USPACE_PATH)/app/bithenge/bithenge \
175 $(USPACE_PATH)/app/blkdump/blkdump \
176 $(USPACE_PATH)/app/bnchmark/bnchmark \
177 $(USPACE_PATH)/app/corecfg/corecfg \
178 $(USPACE_PATH)/app/devctl/devctl \
179 $(USPACE_PATH)/app/dnscfg/dnscfg \
180 $(USPACE_PATH)/app/dnsres/dnsres \
181 $(USPACE_PATH)/app/download/download \
182 $(USPACE_PATH)/app/edit/edit \
183 $(USPACE_PATH)/app/fdisk/fdisk \
184 $(USPACE_PATH)/app/gunzip/gunzip \
185 $(USPACE_PATH)/app/inet/inet \
186 $(USPACE_PATH)/app/kill/kill \
187 $(USPACE_PATH)/app/killall/killall \
188 $(USPACE_PATH)/app/loc/loc \
189 $(USPACE_PATH)/app/mixerctl/mixerctl \
190 $(USPACE_PATH)/app/modplay/modplay \
191 $(USPACE_PATH)/app/logset/logset \
192 $(USPACE_PATH)/app/mkfat/mkfat \
193 $(USPACE_PATH)/app/mkexfat/mkexfat \
194 $(USPACE_PATH)/app/mkmfs/mkmfs \
195 $(USPACE_PATH)/app/nic/nic \
196 $(USPACE_PATH)/app/rcutest/rcutest \
197 $(USPACE_PATH)/app/rcubench/rcubench \
198 $(USPACE_PATH)/app/sbi/sbi \
199 $(USPACE_PATH)/app/sportdmp/sportdmp \
200 $(USPACE_PATH)/app/redir/redir \
201 $(USPACE_PATH)/app/taskdump/taskdump \
202 $(USPACE_PATH)/app/tester/tester \
203 $(USPACE_PATH)/app/testread/testread \
204 $(USPACE_PATH)/app/testwrit/testwrit \
205 $(USPACE_PATH)/app/tetris/tetris \
206 $(USPACE_PATH)/app/trace/trace \
207 $(USPACE_PATH)/app/netecho/netecho \
208 $(USPACE_PATH)/app/nterm/nterm \
209 $(USPACE_PATH)/app/ping/ping \
210 $(USPACE_PATH)/app/pkg/pkg \
211 $(USPACE_PATH)/app/stats/stats \
212 $(USPACE_PATH)/app/sysinfo/sysinfo \
213 $(USPACE_PATH)/app/sysinst/sysinst \
214 $(USPACE_PATH)/app/top/top \
215 $(USPACE_PATH)/app/untar/untar \
216 $(USPACE_PATH)/app/usbinfo/usbinfo \
217 $(USPACE_PATH)/app/vuhid/vuh \
218 $(USPACE_PATH)/app/mkbd/mkbd \
219 $(USPACE_PATH)/app/websrv/websrv \
220 $(USPACE_PATH)/app/date/date \
221 $(USPACE_PATH)/app/vcalc/vcalc \
222 $(USPACE_PATH)/app/vdemo/vdemo \
223 $(USPACE_PATH)/app/viewer/viewer \
224 $(USPACE_PATH)/app/df/df \
225 $(USPACE_PATH)/app/fontviewer/fontviewer \
226 $(USPACE_PATH)/app/wifi_supplicant/wifi_supplicant
227
228ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
229 RD_APPS_NON_ESSENTIAL += \
230 $(USPACE_PATH)/app/dltest/dltest \
231 $(USPACE_PATH)/app/dltests/dltests
232endif
233
234RD_TESTS = \
235 $(USPACE_PATH)/lib/c/test-libc \
236 $(USPACE_PATH)/lib/label/test-liblabel \
237 $(USPACE_PATH)/lib/posix/test-libposix \
238 $(USPACE_PATH)/lib/uri/test-liburi \
239 $(USPACE_PATH)/drv/bus/usb/xhci/test-xhci \
240 $(USPACE_PATH)/app/bdsh/test-bdsh \
241 $(USPACE_PATH)/srv/net/tcp/test-tcp
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.bin \
253 $(INIT_TASKS) \
254 $(INITRD).img
255
256COMPONENTS_DEFLATE := $(addsuffix .deflate,$(notdir $(COMPONENTS)))
257
258LINK = arch/$(BARCH)/_link.ld
259COMP = component
260COMPS = $(COMP)s
261
262-include arch/$(BARCH)/Makefile.inc
263
264ifeq ($(CONFIG_BAREBONE),y)
265 RD_SRVS = $(RD_SRVS_ESSENTIAL)
266 RD_APPS = $(RD_APPS_ESSENTIAL)
267 RD_DRVS = $(RD_DRVS_ESSENTIAL)
268 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL)
269 RD_DATA = $(RD_DATA_ESSENTIAL)
270else
271 RD_SRVS = $(RD_SRVS_ESSENTIAL) $(RD_SRVS_NON_ESSENTIAL)
272 RD_APPS = $(RD_APPS_ESSENTIAL) $(RD_APPS_NON_ESSENTIAL)
273 RD_DRVS = $(RD_DRVS_ESSENTIAL) $(RD_DRVS_NON_ESSENTIAL)
274 RD_DRVS_FW = $(RD_DRVS_FW_ESSENTIAL) $(RD_DRVS_FW_NON_ESSENTIAL)
275 RD_DATA = $(RD_DATA_ESSENTIAL) $(RD_DATA_NON_ESSENTIAL)
276endif
277
278MODULES := $(notdir $(COMPONENTS))
279
280BOOT_OUTPUT ?= $(ROOT_PATH)/image.boot
281RAW ?= image.raw
282JOB ?= image.job
283MAP ?= image.map
284BUILD ?= Makefile.build
Note: See TracBrowser for help on using the repository browser.