source: mainline/uspace/Makefile@ 20eb5e4d

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 20eb5e4d was 24d6efc, checked in by Jiri Svoboda <jirik.svoboda@…>, 17 years ago

Always include Makefile.config instead of passing ARCH and COMPILER to child make on the command line. Allows running make on individual apps and allows more configuration options.

  • Property mode set to 100644
File size: 2.5 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
[ecfd7e5]29## Include configuration
[c2ee1c5c]30#
31
[ecfd7e5]32-include Makefile.config
[c2ee1c5c]33
[ecfd7e5]34DIRS = \
[00acd66]35 lib/libc \
[74303b6]36 lib/libfs \
[fc840d9]37 lib/libblock \
[00acd66]38 lib/softint \
39 lib/softfloat \
40 srv/ns \
[c98e6ee]41 srv/loader \
[00acd66]42 srv/fb \
43 srv/kbd \
44 srv/console \
45 srv/rd \
[c0cdcaf]46 srv/fs/fat \
[d5cdffe]47 srv/fs/tmpfs \
[0f78e74]48 srv/vfs \
[13125d3]49 srv/devmap \
[00acd66]50 app/tetris \
51 app/tester \
[9a1b20c]52 app/trace \
[00acd66]53 app/klog \
[216d6fc]54 app/init \
55 app/bdsh
[c2ee1c5c]56
[5a4c754]57ifeq ($(ARCH), amd64)
[00acd66]58 DIRS += srv/pci
[5a4c754]59endif
[41f7564]60
[5a4c754]61ifeq ($(ARCH), ia32)
[00acd66]62 DIRS += srv/pci
[37458472]63endif
[5a4c754]64
[41f7564]65ifeq ($(ARCH), mips32)
66 CFLAGS += -DCONFIG_MIPS_FPU
67endif
68
69ifeq ($(ARCH), mips32eb)
70 CFLAGS += -DCONFIG_MIPS_FPU
71endif
[07d7870]72
[ecfd7e5]73BUILDS := $(addsuffix .build,$(DIRS))
74CLEANS := $(addsuffix .clean,$(DIRS))
[c2ee1c5c]75
[ecfd7e5]76.PHONY: all config build $(BUILDS) $(CLEANS) clean distclean
[c2ee1c5c]77
[ecfd7e5]78all:
[41f7564]79 ../tools/config.py uspace.config default $(ARCH) $(COMPILER) $(CONFIG_DEBUG)
[ecfd7e5]80 $(MAKE) -C . build
81
82config:
[41f7564]83 ../tools/config.py uspace.config
[ecfd7e5]84
85build: $(BUILDS)
[c2ee1c5c]86
[25b0e6a]87clean: $(CLEANS)
[b76f2f8]88 find $(DIRS) -name '*.o' -follow -exec rm \{\} \;
89 find lib/libc -name "_link.ld" -exec rm \{\} \;
[c2ee1c5c]90
[ecfd7e5]91distclean: clean
92 -rm Makefile.config
93
[25b0e6a]94$(CLEANS):
[24d6efc]95 -$(MAKE) -C $(basename $@) clean
[c2ee1c5c]96
[ecfd7e5]97$(BUILDS):
[24d6efc]98 $(MAKE) -C $(basename $@) all
Note: See TracBrowser for help on using the repository browser.