OSDN Git Service

rework the headers depedency so that it plays nice with parallel building
[uclinux-h8/uClibc.git] / ldso / Makefile
1 # Makefile for uClibc
2 #
3 # Copyright (C) 2000-2005 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 libdl
25
26 ifeq ($(strip $(BUILD_UCLIBC_LDSO)),y)
27 ldso: headers
28         $(MAKE) -C ldso
29 libdl: ldso headers
30         $(MAKE) -C libdl
31 shared: libdl
32         $(MAKE) -C libdl shared
33 else
34 ldso libdl shared:
35         echo "Skipping $@ target"
36 endif
37
38 LN_HEADERS      := $(patsubst %, include/%, elf.h)
39 LN_ARCH_HEADERS := $(patsubst %, include/%, dl-startup.h dl-syscalls.h dl-sysdep.h dl-debug.h)
40 HEADERS         := $(LN_HEADERS) $(LN_ARCH_HEADERS) include/dl-progname.h
41 headers: $(HEADERS)
42 $(LN_HEADERS):
43         $(LN) -fs $(TOPDIR)../$@ $@
44 $(LN_ARCH_HEADERS):
45         $(LN) -fs ../ldso/$(TARGET_ARCH)/$(patsubst include/%,%,$@) $@
46 include/dl-progname.h:
47         echo 'const char *_dl_progname="$(UCLIBC_LDSO)";' \
48                 > include/dl-progname.h
49         echo '#include "$(TARGET_ARCH)/elfinterp.c"' \
50                 >> include/dl-progname.h
51
52 clean:
53         set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done
54         -find . -name '*~' | xargs $(RM)
55         $(RM) $(HEADERS)