source: mainline/boot/Makefile.common@ fa86fff

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since fa86fff was 516e780, checked in by GitHub <noreply@…>, 7 years ago

Strip down libmath. (#45)

libmath is mostly unused (except for trunc(), sin() and cos()), and most functions in it are either very imprecise or downright broken. Additionally, it is implemented in manner that conflicts with C standard. Instead of trying to fix all the shortcomings while maintaining unused functionality, I'm opting to simply remove most of it and only keep the parts that are currently necessary.

Later readdition of the removed functions is possible, but there needs to be a reliable way to evaluate their quality first.

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