source: mainline/uspace/Makefile@ a0e09ef

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