source: mainline/uspace/Makefile@ 15639ec

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 15639ec was a5c468e, checked in by Jiri Svoboda <jiri@…>, 7 years ago

Build XCW demo as part of default target. Need to get real CFLAGS to fix some ARM targets, use export target. Make export as part of default target into uspace/export. Update gitignore.

  • Property mode set to 100644
File size: 5.9 KB
Line 
1#
2# Copyright (c) 2005 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-include ../Makefile.common
30-include ../Makefile.config
31
32## Common binaries
33#
34
35DIRS = \
36 app/barber \
37 app/bdsh \
38 app/bithenge \
39 app/blkdump \
40 app/bnchmark \
41 app/contacts \
42 app/corecfg \
43 app/cpptest \
44 app/devctl \
45 app/dnscfg \
46 app/dnsres \
47 app/download \
48 app/edit \
49 app/fdisk \
50 app/fontviewer \
51 app/getterm \
52 app/gunzip \
53 app/init \
54 app/inet \
55 app/kill \
56 app/killall \
57 app/kio \
58 app/loc \
59 app/logset \
60 app/mixerctl \
61 app/mkfat \
62 app/mkexfat \
63 app/mkext4 \
64 app/mkmfs \
65 app/modplay \
66 app/netecho \
67 app/nterm \
68 app/redir \
69 app/sbi \
70 app/sportdmp \
71 app/stats \
72 app/taskdump \
73 app/tester \
74 app/testread \
75 app/testrunner \
76 app/testwrit \
77 app/tetris \
78 app/tmon \
79 app/trace \
80 app/top \
81 app/untar \
82 app/usbinfo \
83 app/vol \
84 app/vuhid \
85 app/nic \
86 app/ping \
87 app/pkg \
88 app/sysinfo \
89 app/sysinst \
90 app/mkbd \
91 app/date \
92 app/vcalc \
93 app/vdemo \
94 app/viewer \
95 app/vlaunch \
96 app/vterm \
97 app/df \
98 app/wavplay \
99 app/websrv \
100 app/wifi_supplicant \
101 srv/audio/hound \
102 srv/clipboard \
103 srv/locsrv \
104 srv/logger \
105 srv/klog \
106 srv/devman \
107 srv/loader \
108 srv/net/dhcp \
109 srv/net/dnsrsrv \
110 srv/net/ethip \
111 srv/net/inetsrv \
112 srv/net/loopip \
113 srv/net/nconfsrv \
114 srv/net/slip \
115 srv/net/tcp \
116 srv/net/udp \
117 srv/ns \
118 srv/taskmon \
119 srv/vfs \
120 srv/bd/sata_bd \
121 srv/bd/file_bd \
122 srv/bd/rd \
123 srv/bd/vbd \
124 srv/fs/exfat \
125 srv/fs/udf \
126 srv/fs/fat \
127 srv/fs/cdfs \
128 srv/fs/tmpfs \
129 srv/fs/mfs \
130 srv/fs/locfs \
131 srv/fs/ext4fs \
132 srv/volsrv \
133 srv/hid/compositor \
134 srv/hid/console \
135 srv/hid/s3c24xx_ts \
136 srv/hid/isdv4_tablet \
137 srv/hid/input \
138 srv/hid/output \
139 srv/hid/remcons \
140 srv/hw/char/s3c24xx_uart \
141 srv/hid/rfb \
142 srv/test/chardev-test \
143 drv/audio/hdaudio \
144 drv/audio/sb16 \
145 drv/root/root \
146 drv/root/virt \
147 drv/block/ahci \
148 drv/block/ata_bd \
149 drv/block/ddisk \
150 drv/block/usbmast \
151 drv/bus/adb/cuda_adb \
152 drv/bus/isa \
153 drv/bus/pci/pciintel \
154 drv/bus/usb/ehci \
155 drv/bus/usb/ohci \
156 drv/bus/usb/uhci \
157 drv/bus/usb/usbdiag \
158 drv/bus/usb/usbflbk \
159 drv/bus/usb/usbhub \
160 drv/bus/usb/usbmid \
161 drv/bus/usb/vhc \
162 drv/bus/usb/xhci \
163 drv/char/i8042 \
164 drv/char/msim-con \
165 drv/char/ns8250 \
166 drv/char/pl050 \
167 drv/char/ski-con \
168 drv/char/sun4v-con \
169 drv/fb/amdm37x_dispc \
170 drv/fb/kfb \
171 drv/hid/adb-kbd \
172 drv/hid/adb-mouse \
173 drv/hid/atkbd \
174 drv/hid/ps2mouse \
175 drv/hid/usbhid \
176 drv/hid/xtkbd \
177 drv/intctl/apic \
178 drv/intctl/i8259 \
179 drv/intctl/icp-ic \
180 drv/intctl/obio \
181 drv/nic/ne2k \
182 drv/nic/e1k \
183 drv/nic/rtl8139 \
184 drv/nic/rtl8169 \
185 drv/nic/ar9271 \
186 drv/nic/virtio-net \
187 drv/platform/amdm37x \
188 drv/platform/icp \
189 drv/platform/mac \
190 drv/platform/malta \
191 drv/platform/msim \
192 drv/platform/pc \
193 drv/platform/ski \
194 drv/platform/sun4v \
195 drv/test/test1 \
196 drv/test/test2 \
197 drv/test/test3 \
198 drv/time/cmos-rtc
199
200## sun4u driver won't compile on 32-bit targets
201ifeq ($(UARCH),sparc64)
202 DIRS += \
203 drv/platform/sun4u
204endif
205
206## Dynamic linking tests
207#
208ifeq ($(CONFIG_BUILD_SHARED_LIBS),y)
209 DIRS += \
210 app/dltest \
211 app/dltests
212endif
213
214## System libraries
215#
216
217BASE_LIBS = \
218 lib/c \
219 lib/cpp \
220 lib/untar
221
222LIBS = \
223 lib/fs \
224 lib/block \
225 lib/crypto \
226 lib/clui \
227 lib/dltest \
228 lib/fdisk \
229 lib/fmtutil \
230 lib/scsi \
231 lib/sif \
232 lib/compress \
233 lib/drv \
234 lib/graph \
235 lib/gui \
236 lib/hound \
237 lib/http \
238 lib/softrend \
239 lib/draw \
240 lib/label \
241 lib/math \
242 lib/minix \
243 lib/nettl \
244 lib/nic \
245 lib/ext4 \
246 lib/trackmod \
247 lib/uri \
248 lib/usb \
249 lib/usbhost \
250 lib/usbdev \
251 lib/usbhid \
252 lib/usbvirt \
253 lib/pcm \
254 lib/pcut \
255 lib/bithenge \
256 lib/posix \
257 lib/ieee80211 \
258 lib/virtio
259
260BASE_BUILDS := $(addsuffix .build,$(BASE_LIBS))
261BUILDS := $(addsuffix .build,$(DIRS) $(LIBS))
262BUILDS_TESTS := $(addsuffix .build-test,$(DIRS) $(LIBS) $(BASE_LIBS))
263DEPS = $(addsuffix /deps.mk,$(DIRS) $(LIBS))
264CLEANS := $(addsuffix .clean,$(DIRS) $(LIBS) $(BASE_LIBS))
265
266.PHONY: all $(BASE_BUILDS) $(BUILDS) $(BUILDS_TESTS) $(CLEANS) clean export
267
268all: $(BUILDS) $(BUILDS_TESTS)
269
270$(BUILDS_TESTS): $(BASE_BUILDS) $(BUILDS)
271 $(MAKE) -r -C $(basename $@) all-test PRECHECK=$(PRECHECK)
272
273export: lib/posix.build lib/math.build lib/clui.build
274 $(MAKE) -r -C lib/posix export EXPORT_DIR=$(EXPORT_DIR)
275
276clean: $(CLEANS)
277 find lib app drv srv -name '*.o' -follow -exec rm \{\} \;
278 find lib app drv srv -name '*.lo' -follow -exec rm \{\} \;
279 find lib app drv srv -name '*.d' -follow -exec rm \{\} \;
280 rm -fr export
281
282$(CLEANS):
283 -$(MAKE) -r -C $(basename $@) fasterclean
284
285$(BASE_BUILDS) $(BUILDS):
286 $(MAKE) -r -C $(basename $@) all PRECHECK=$(PRECHECK)
287
288$(DEPS): %/deps.mk: %/Makefile
289 $(MAKE) -r -C $(@D) deps.mk SELF_TARGET="$(@D).build"
290
291$(BUILDS): $(BASE_BUILDS)
292
293-include $(DEPS)
Note: See TracBrowser for help on using the repository browser.