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
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]54MKTMPFS = $(TOOLS_PATH)/mktmpfs.py
55MKFAT = $(TOOLS_PATH)/mkfat.py
[d06c4ae]56MKEXT4 = $(TOOLS_PATH)/mkext4.py
[928d983]57MKUIMAGE = $(TOOLS_PATH)/mkuimage.py
[4872160]58
[7f881cd8]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
[4872160]66
67DISTROOT = distroot
[81235588]68INITRD = initrd
69
70INIT_TASKS = \
[4872160]71 $(USPACE_PATH)/srv/ns/ns \
72 $(USPACE_PATH)/srv/loader/loader \
73 $(USPACE_PATH)/app/init/init \
[32d96e1]74 $(USPACE_PATH)/srv/locsrv/locsrv \
[4872160]75 $(USPACE_PATH)/srv/bd/rd/rd \
[1f2dd20]76 $(USPACE_PATH)/srv/vfs/vfs \
77 $(USPACE_PATH)/srv/logger/logger
[14f1db0]78
[81235588]79ifeq ($(RDFMT),tmpfs)
[4872160]80 INIT_TASKS += $(USPACE_PATH)/srv/fs/tmpfs/tmpfs
[81235588]81endif
[14f1db0]82
[81235588]83ifeq ($(RDFMT),fat)
[4872160]84 INIT_TASKS += $(USPACE_PATH)/srv/fs/fat/fat
[81235588]85endif
86
[d06c4ae]87ifeq ($(RDFMT),ext4fs)
88 INIT_TASKS += $(USPACE_PATH)/srv/fs/ext4fs/ext4fs
[cc1a727]89endif
90
[fa9616b4]91RD_SRVS_ESSENTIAL = \
[5f88293]92 $(USPACE_PATH)/srv/hid/input/input \
[6d5e378]93 $(USPACE_PATH)/srv/hid/output/output \
[fa9616b4]94 $(USPACE_PATH)/srv/hid/console/console \
[6d5e378]95 $(USPACE_PATH)/srv/devman/devman \
96 $(USPACE_PATH)/srv/fs/locfs/locfs \
[0caa075e]97 $(USPACE_PATH)/srv/hid/compositor/compositor \
98 $(USPACE_PATH)/srv/klog/klog
[fa9616b4]99
100RD_SRVS_NON_ESSENTIAL = \
[4872160]101 $(USPACE_PATH)/srv/bd/file_bd/file_bd \
[9904eb90]102 $(USPACE_PATH)/srv/bd/sata_bd/sata_bd \
[1356f85a]103 $(USPACE_PATH)/srv/bd/vbd/vbd \
[d3a8e47]104 $(USPACE_PATH)/srv/clipboard/clipboard \
[4872160]105 $(USPACE_PATH)/srv/fs/tmpfs/tmpfs \
106 $(USPACE_PATH)/srv/fs/fat/fat \
[7a46bfe]107 $(USPACE_PATH)/srv/fs/mfs/mfs \
[a26895d]108 $(USPACE_PATH)/srv/fs/cdfs/cdfs \
[db9aa04]109 $(USPACE_PATH)/srv/fs/exfat/exfat \
[48e3190]110 $(USPACE_PATH)/srv/fs/udf/udf \
[d3a9ae74]111 $(USPACE_PATH)/srv/fs/ext4fs/ext4fs \
[21a9869]112 $(USPACE_PATH)/srv/hid/remcons/remcons \
[f66ca57f]113 $(USPACE_PATH)/srv/hid/isdv4_tablet/isdv4_tablet \
[bd0e6a1]114 $(USPACE_PATH)/srv/hid/rfb/rfb \
[695b6ff]115 $(USPACE_PATH)/srv/net/dhcp/dhcp \
[31e9fe0]116 $(USPACE_PATH)/srv/net/dnsrsrv/dnsrsrv \
[69a93df7]117 $(USPACE_PATH)/srv/net/ethip/ethip \
[b4ec1ea]118 $(USPACE_PATH)/srv/net/inetsrv/inetsrv \
[606c369]119 $(USPACE_PATH)/srv/net/loopip/loopip \
[7af0cc5]120 $(USPACE_PATH)/srv/net/nconfsrv/nconfsrv \
[2093fbe]121 $(USPACE_PATH)/srv/net/slip/slip \
[69a93df7]122 $(USPACE_PATH)/srv/net/tcp/tcp \
123 $(USPACE_PATH)/srv/net/udp/udp \
[1356f85a]124 $(USPACE_PATH)/srv/taskmon/taskmon \
125 $(USPACE_PATH)/srv/volsrv/volsrv
[5203e256]126
[bd250b0f]127RD_DRVS_ESSENTIAL = \
[2a37b9f]128 root/root \
129 root/virt \
[83f29e0]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 \
[9904eb90]141 block/ahci
[c47e1a8]142
[5203e256]143RD_DRV_CFG =
[14f1db0]144
[8a64320e]145RD_DRVS_FW_NON_ESSENTIAL = \
146 nic/ar9271
[864762a]147
[7fb3f1c]148RD_LIBS =
149
[a8010272]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
[ec3e2ed0]157ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
[5b72635]158 RD_LIBS += \
[e2e9a8a]159 $(USPACE_PATH)/lib/c/libc.so.0 \
[8539cf2]160 $(USPACE_PATH)/lib/softint/libsoftint.so.0 \
[9182e86f]161 $(USPACE_PATH)/lib/math/libmath.so.0 \
162 $(USPACE_PATH)/lib/dltest/libdltest.so.0
[04803bf]163endif
164
[fa9616b4]165RD_APPS_ESSENTIAL = \
[4872160]166 $(USPACE_PATH)/app/bdsh/bdsh \
167 $(USPACE_PATH)/app/getterm/getterm \
[6fa9a99d]168 $(USPACE_PATH)/app/kio/kio \
[034c4202]169 $(USPACE_PATH)/app/vlaunch/vlaunch \
170 $(USPACE_PATH)/app/vterm/vterm
[fa9616b4]171
172RD_APPS_NON_ESSENTIAL = \
[a047aaa]173 $(USPACE_PATH)/app/barber/barber \
[a54bd98]174 $(USPACE_PATH)/app/bithenge/bithenge \
[32d3ebf]175 $(USPACE_PATH)/app/blkdump/blkdump \
[423f64f]176 $(USPACE_PATH)/app/bnchmark/bnchmark \
[92c1680]177 $(USPACE_PATH)/app/corecfg/corecfg \
[7beb220]178 $(USPACE_PATH)/app/devctl/devctl \
[5d1cb8a]179 $(USPACE_PATH)/app/dnscfg/dnscfg \
[31e9fe0]180 $(USPACE_PATH)/app/dnsres/dnsres \
[d7b7f5e]181 $(USPACE_PATH)/app/download/download \
[fa9616b4]182 $(USPACE_PATH)/app/edit/edit \
[e96047c]183 $(USPACE_PATH)/app/fdisk/fdisk \
[b93ea46a]184 $(USPACE_PATH)/app/gunzip/gunzip \
[b4ec1ea]185 $(USPACE_PATH)/app/inet/inet \
[1e9f8ab]186 $(USPACE_PATH)/app/kill/kill \
[c4faa0c]187 $(USPACE_PATH)/app/killall/killall \
[32d96e1]188 $(USPACE_PATH)/app/loc/loc \
[10f2b34]189 $(USPACE_PATH)/app/mixerctl/mixerctl \
[7e69e0e]190 $(USPACE_PATH)/app/modplay/modplay \
[669f5cae]191 $(USPACE_PATH)/app/logset/logset \
[4872160]192 $(USPACE_PATH)/app/mkfat/mkfat \
[6b3cda3]193 $(USPACE_PATH)/app/mkexfat/mkexfat \
[7a46bfe]194 $(USPACE_PATH)/app/mkmfs/mkmfs \
[6bcecc2]195 $(USPACE_PATH)/app/nic/nic \
[94b39ba]196 $(USPACE_PATH)/app/rcutest/rcutest \
[a440a0f]197 $(USPACE_PATH)/app/rcubench/rcubench \
[4872160]198 $(USPACE_PATH)/app/sbi/sbi \
[c0e53ff]199 $(USPACE_PATH)/app/sportdmp/sportdmp \
[4872160]200 $(USPACE_PATH)/app/redir/redir \
201 $(USPACE_PATH)/app/taskdump/taskdump \
202 $(USPACE_PATH)/app/tester/tester \
[6b3e7f7f]203 $(USPACE_PATH)/app/testread/testread \
[2966122]204 $(USPACE_PATH)/app/testwrit/testwrit \
[4872160]205 $(USPACE_PATH)/app/tetris/tetris \
206 $(USPACE_PATH)/app/trace/trace \
[5147ff1]207 $(USPACE_PATH)/app/netecho/netecho \
[01a7aa1]208 $(USPACE_PATH)/app/nterm/nterm \
[4872160]209 $(USPACE_PATH)/app/ping/ping \
[9621c7d]210 $(USPACE_PATH)/app/pkg/pkg \
[4872160]211 $(USPACE_PATH)/app/stats/stats \
[f4a2d624]212 $(USPACE_PATH)/app/sysinfo/sysinfo \
[3a34852]213 $(USPACE_PATH)/app/sysinst/sysinst \
[07b9203e]214 $(USPACE_PATH)/app/top/top \
[ff042c0]215 $(USPACE_PATH)/app/untar/untar \
[07b9203e]216 $(USPACE_PATH)/app/usbinfo/usbinfo \
[57c7050]217 $(USPACE_PATH)/app/vuhid/vuh \
[4880210]218 $(USPACE_PATH)/app/mkbd/mkbd \
[d982e19]219 $(USPACE_PATH)/app/websrv/websrv \
[4f351432]220 $(USPACE_PATH)/app/date/date \
[bdfdc51c]221 $(USPACE_PATH)/app/vcalc/vcalc \
[66366470]222 $(USPACE_PATH)/app/vdemo/vdemo \
[3e896e1]223 $(USPACE_PATH)/app/viewer/viewer \
[a9763c6]224 $(USPACE_PATH)/app/df/df \
[864762a]225 $(USPACE_PATH)/app/fontviewer/fontviewer \
[8a64320e]226 $(USPACE_PATH)/app/wifi_supplicant/wifi_supplicant
[4872160]227
[9182e86f]228ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
229 RD_APPS_NON_ESSENTIAL += \
[7c4b26c]230 $(USPACE_PATH)/app/dltest/dltest \
231 $(USPACE_PATH)/app/dltests/dltests
[9182e86f]232endif
233
[01579ad]234RD_TESTS = \
[d848752]235 $(USPACE_PATH)/lib/c/test-libc \
[80da8f70]236 $(USPACE_PATH)/lib/label/test-liblabel \
[eeb23f2d]237 $(USPACE_PATH)/lib/posix/test-libposix \
[da4e695]238 $(USPACE_PATH)/lib/uri/test-liburi \
[48197c1]239 $(USPACE_PATH)/drv/bus/usb/xhci/test-xhci \
[8ebc5b8a]240 $(USPACE_PATH)/app/bdsh/test-bdsh \
241 $(USPACE_PATH)/srv/net/tcp/test-tcp
[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 = \
[4872160]252 $(KERNEL_PATH)/kernel.bin \
253 $(INIT_TASKS) \
254 $(INITRD).img
[14f1db0]255
[94c05b89]256COMPONENTS_DEFLATE := $(addsuffix .deflate,$(notdir $(COMPONENTS)))
257
[4872160]258LINK = arch/$(BARCH)/_link.ld
[4646710]259COMP = component
260COMPS = $(COMP)s
[14f1db0]261
[4872160]262-include arch/$(BARCH)/Makefile.inc
[21580dd]263
[15b592b]264ifeq ($(CONFIG_BAREBONE),y)
[5f53428a]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)
[fa9616b4]270else
[5f53428a]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)
[fa9616b4]276endif
277
[4872160]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.