source: mainline/uspace/Makefile@ f5e5f73

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

Generate files that a third party can use to build software for HelenOS (#15)

Generate files that a third party can use to build software for HelenOS
without necessarily knowing anything about the build system.

  • Property mode set to 100644
File size: 5.9 KB
RevLine 
[c2ee1c5c]1#
[df4ed85]2# Copyright (c) 2005 Martin Decky
[c2ee1c5c]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
[177e4ea]29-include ../Makefile.common
[9a0367f]30-include ../Makefile.config
[c2ee1c5c]31
[1b1164e8]32## Common binaries
33#
34
[ecfd7e5]35DIRS = \
[a047aaa]36 app/barber \
[b3d513f]37 app/bdsh \
[a54bd98]38 app/bithenge \
[32d3ebf]39 app/blkdump \
[423f64f]40 app/bnchmark \
[92c1680]41 app/corecfg \
[7beb220]42 app/devctl \
[5d1cb8a]43 app/dnscfg \
[31e9fe0]44 app/dnsres \
[d7b7f5e]45 app/download \
[b3d513f]46 app/edit \
[e96047c]47 app/fdisk \
[a9763c6]48 app/fontviewer \
[b3d513f]49 app/getterm \
[b93ea46a]50 app/gunzip \
[b3d513f]51 app/init \
[b4ec1ea]52 app/inet \
[1e9f8ab]53 app/kill \
[c4faa0c]54 app/killall \
[6fa9a99d]55 app/kio \
[32d96e1]56 app/loc \
[669f5cae]57 app/logset \
[a6bdccc]58 app/mixerctl \
[dccf721]59 app/mkfat \
[e872326]60 app/mkexfat \
[7a46bfe]61 app/mkmfs \
[7e69e0e]62 app/modplay \
[5147ff1]63 app/netecho \
[01a7aa1]64 app/nterm \
[b3d513f]65 app/redir \
[94b39ba]66 app/rcutest \
[a440a0f]67 app/rcubench \
[09ababb7]68 app/sbi \
[c0e53ff]69 app/sportdmp \
[3d482e0]70 app/stats \
[336db295]71 app/taskdump \
[b3d513f]72 app/tester \
[6b3e7f7f]73 app/testread \
[2966122]74 app/testwrit \
[b3d513f]75 app/tetris \
76 app/trace \
[5c058d50]77 app/top \
[ff042c0]78 app/untar \
[07b9203e]79 app/usbinfo \
[57c7050]80 app/vuhid \
[6bcecc2]81 app/nic \
[a79d88d]82 app/ping \
[9621c7d]83 app/pkg \
[a3eeef45]84 app/sysinfo \
[3a34852]85 app/sysinst \
[4880210]86 app/mkbd \
[fd37139d]87 app/date \
[bdfdc51c]88 app/vcalc \
[6d5e378]89 app/vdemo \
[3e896e1]90 app/viewer \
[6d5e378]91 app/vlaunch \
92 app/vterm \
[66366470]93 app/df \
[a6bdccc]94 app/wavplay \
95 app/websrv \
[864762a]96 app/wifi_supplicant \
[a6bdccc]97 srv/audio/hound \
[d3a8e47]98 srv/clipboard \
[32d96e1]99 srv/locsrv \
[1f2dd20]100 srv/logger \
[0caa075e]101 srv/klog \
[e4c4247]102 srv/devman \
[b3d513f]103 srv/loader \
[695b6ff]104 srv/net/dhcp \
[31e9fe0]105 srv/net/dnsrsrv \
[69a93df7]106 srv/net/ethip \
[b4ec1ea]107 srv/net/inetsrv \
[606c369]108 srv/net/loopip \
[7af0cc5]109 srv/net/nconfsrv \
[2093fbe]110 srv/net/slip \
[69a93df7]111 srv/net/tcp \
112 srv/net/udp \
[b3d513f]113 srv/ns \
[a074b4f]114 srv/taskmon \
[b3d513f]115 srv/vfs \
[9904eb90]116 srv/bd/sata_bd \
[2a18193c]117 srv/bd/file_bd \
[e7645de]118 srv/bd/rd \
[1356f85a]119 srv/bd/vbd \
[db9aa04]120 srv/fs/exfat \
[48e3190]121 srv/fs/udf \
[c0cdcaf]122 srv/fs/fat \
[a26895d]123 srv/fs/cdfs \
[d5cdffe]124 srv/fs/tmpfs \
[7a46bfe]125 srv/fs/mfs \
[15f3c3f]126 srv/fs/locfs \
[d3a9ae74]127 srv/fs/ext4fs \
[bfcde8d]128 srv/volsrv \
[6d5e378]129 srv/hid/compositor \
[c6f08726]130 srv/hid/console \
[527298a]131 srv/hid/s3c24xx_ts \
[f66ca57f]132 srv/hid/isdv4_tablet \
[5f88293]133 srv/hid/input \
[6d5e378]134 srv/hid/output \
[21a9869]135 srv/hid/remcons \
[a9b5b5f]136 srv/hw/char/s3c24xx_uart \
[bd0e6a1]137 srv/hid/rfb \
[57914494]138 srv/test/chardev-test \
[b229062]139 drv/audio/hdaudio \
[2fc487f]140 drv/audio/sb16 \
[2a37b9f]141 drv/root/root \
142 drv/root/virt \
[9904eb90]143 drv/block/ahci \
[66cb7a2]144 drv/block/ata_bd \
[f2e78b0]145 drv/block/ddisk \
[53b9f2c]146 drv/block/usbmast \
[e27e36e]147 drv/bus/adb/cuda_adb \
[4c363fa2]148 drv/bus/isa \
149 drv/bus/pci/pciintel \
[5203e256]150 drv/bus/usb/ehci \
151 drv/bus/usb/ohci \
152 drv/bus/usb/uhci \
153 drv/bus/usb/usbflbk \
154 drv/bus/usb/usbhub \
155 drv/bus/usb/usbmid \
[00d7e1b]156 drv/bus/usb/vhc \
[4c363fa2]157 drv/char/i8042 \
[f3365b6]158 drv/char/msim-con \
[4c363fa2]159 drv/char/ns8250 \
160 drv/char/pl050 \
[6d15572]161 drv/char/ski-con \
[7aa94304]162 drv/char/sun4v-con \
[4c363fa2]163 drv/fb/amdm37x_dispc \
164 drv/fb/kfb \
[a2afd8f]165 drv/hid/adb-kbd \
166 drv/hid/adb-mouse \
[d420b22]167 drv/hid/atkbd \
168 drv/hid/ps2mouse \
[53b9f2c]169 drv/hid/usbhid \
[d420b22]170 drv/hid/xtkbd \
[b446b02]171 drv/intctl/apic \
172 drv/intctl/i8259 \
[a416d070]173 drv/intctl/icp-ic \
[be1b1e68]174 drv/intctl/obio \
[9916841]175 drv/nic/ne2k \
[f0b74b2]176 drv/nic/e1k \
[fef725d]177 drv/nic/rtl8139 \
[312e5ff]178 drv/nic/rtl8169 \
[864762a]179 drv/nic/ar9271 \
[4c363fa2]180 drv/platform/amdm37x \
181 drv/platform/icp \
182 drv/platform/mac \
183 drv/platform/malta \
184 drv/platform/msim \
185 drv/platform/pc \
[6d15572]186 drv/platform/ski \
[7aa94304]187 drv/platform/sun4v \
[53b9f2c]188 drv/test/test1 \
189 drv/test/test2 \
190 drv/test/test3 \
[4c363fa2]191 drv/time/cmos-rtc
[3a2f8aa]192
[4c363fa2]193## sun4u driver won't compile on 32-bit targets
[3e5a814]194ifeq ($(UARCH),sparc64)
[42742c5a]195 DIRS += \
[4c363fa2]196 drv/platform/sun4u
[09a0a8f0]197endif
198
[7c4b26c]199## Dynamic linking tests
200#
201ifeq ($(CONFIG_BUILD_SHARED_LIBS),y)
202 DIRS += \
203 app/dltest \
204 app/dltests
205endif
206
[1b1164e8]207## System libraries
208#
209
[4f674d7]210BASE_LIBS = \
211 lib/c \
212 lib/softint \
213 lib/softfloat
214
[e035612]215LIBS = \
[63f8966]216 lib/fs \
217 lib/block \
[1dcc0b9]218 lib/crypto \
[36a75a2]219 lib/clui \
[9182e86f]220 lib/dltest \
[e96047c]221 lib/fdisk \
[22cf42d9]222 lib/fmtutil \
[0feaae4]223 lib/scsi \
[a047aaa]224 lib/compress \
[c47e1a8]225 lib/drv \
[6d5e378]226 lib/graph \
227 lib/gui \
[a6bdccc]228 lib/hound \
[d7b7f5e]229 lib/http \
[6d5e378]230 lib/softrend \
231 lib/draw \
[1356f85a]232 lib/label \
[8620b2f]233 lib/math \
[cecba66e]234 lib/minix \
[2989c7e]235 lib/nettl \
[00d7e1b]236 lib/nic \
[eb91db7]237 lib/ext4 \
[7e69e0e]238 lib/trackmod \
[d7b7f5e]239 lib/uri \
[8d6c1f1]240 lib/usb \
241 lib/usbhost \
242 lib/usbdev \
243 lib/usbhid \
[2af29ed]244 lib/usbvirt \
[ea6c838]245 lib/pcm \
[865b981]246 lib/pcut \
[681a985]247 lib/bithenge \
[d3a92c87]248 lib/posix \
[8a64320e]249 lib/ieee80211
[e035612]250
[4f674d7]251BASE_BUILDS := $(addsuffix .build,$(BASE_LIBS))
252BUILDS := $(addsuffix .build,$(DIRS) $(LIBS))
253BUILDS_TESTS := $(addsuffix .build-test,$(DIRS) $(LIBS) $(BASE_LIBS))
254DEPS = $(addsuffix /deps.mk,$(DIRS) $(LIBS))
255CLEANS := $(addsuffix .clean,$(DIRS) $(LIBS) $(BASE_LIBS))
[e035612]256
[2660ee3]257.PHONY: all $(BASE_BUILDS) $(BUILDS) $(BUILDS_TESTS) $(CLEANS) clean export
[c2ee1c5c]258
[01579ad]259all: $(BUILDS) $(BUILDS_TESTS)
260
[4f674d7]261$(BUILDS_TESTS): $(BASE_BUILDS) $(BUILDS)
[e540bc87]262 $(MAKE) -r -C $(basename $@) all-test PRECHECK=$(PRECHECK)
[c2ee1c5c]263
[2660ee3]264export: lib/posix.build lib/math.build lib/clui.build
265 $(MAKE) -r -C lib/posix export EXPORT_DIR=$(EXPORT_DIR)
266
[25b0e6a]267clean: $(CLEANS)
[68825c3]268 find lib app drv srv -name '*.o' -follow -exec rm \{\} \;
269 find lib app drv srv -name '*.lo' -follow -exec rm \{\} \;
270 find lib app drv srv -name '*.d' -follow -exec rm \{\} \;
[c2ee1c5c]271
[25b0e6a]272$(CLEANS):
[7654f3e]273 -$(MAKE) -r -C $(basename $@) fasterclean
[c2ee1c5c]274
[4f674d7]275$(BASE_BUILDS) $(BUILDS):
[e540bc87]276 $(MAKE) -r -C $(basename $@) all PRECHECK=$(PRECHECK)
[e035612]277
[4f674d7]278$(DEPS): %/deps.mk: %/Makefile
279 $(MAKE) -r -C $(@D) deps.mk SELF_TARGET="$(@D).build"
280
281# Special case for base libraries.
282lib/c.build: lib/softfloat.build lib/softint.build
283
284$(BUILDS): $(BASE_BUILDS)
285
286-include $(DEPS)
[e035612]287
Note: See TracBrowser for help on using the repository browser.