OSDN Git Service

rework dependencies to support parallel build and avoid re-creating header files...
[uclinux-h8/uClibc.git] / ldso / Makefile
1 # Makefile for uClibc
2 #
3 # Copyright (C) 2000-2004 Erik Andersen <andersen@uclibc.org>
4 #
5 # This program is free software; you can redistribute it and/or modify it under
6 # the terms of the GNU Library General Public License as published by the Free
7 # Software Foundation; either version 2 of the License, or (at your option) any
8 # later version.
9 #
10 # This program is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 # FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
13 # details.
14 #
15 # You should have received a copy of the GNU Library General Public License
16 # along with this program; if not, write to the Free Software Foundation, Inc.,
17 # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 TOPDIR=../
20 include $(TOPDIR)Rules.mak
21
22 DIRS = ldso libdl
23
24 all: ldso
25
26 ldso: headers
27 ifeq ($(strip $(BUILD_UCLIBC_LDSO)),y)
28         $(MAKE) -C ldso
29 else
30         echo "Not building ld-uClibc"
31 endif
32
33 shared: libdl
34 libdl: ldso headers
35 ifeq ($(strip $(BUILD_UCLIBC_LDSO)),y)
36         $(MAKE) -C libdl
37 else
38         echo "Not building libdl"
39 endif
40
41 HEADERS = $(patsubst %, include/%, elf.h dl-startup.h dl-syscalls.h dl-sysdep.h)
42 headers: $(HEADERS) include/dl-progname.h
43 include/dl-progname.h:
44         echo "const char *_dl_progname=\""$(UCLIBC_LDSO)"\";" \
45                 > include/dl-progname.h
46         echo "#include \"$(TARGET_ARCH)/elfinterp.c\"" \
47                 >> include/dl-progname.h
48 $(HEADERS):
49         $(LN) -fs $(TOPDIR)../include/elf.h include/
50         $(LN) -fs ../ldso/$(TARGET_ARCH)/dl-startup.h include/
51         $(LN) -fs ../ldso/$(TARGET_ARCH)/dl-syscalls.h include/
52         $(LN) -fs ../ldso/$(TARGET_ARCH)/dl-sysdep.h include/
53
54 clean:
55         set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done
56         -find . -name '*~' | xargs $(RM)
57         $(RM) $(HEADERS) include/dl-progname.h