OSDN Git Service

Merge remote branch 'origin/master' into nptl
[uclinux-h8/uClibc.git] / Makefile.in
index 5c20272..691a597 100644 (file)
@@ -9,7 +9,7 @@
 # You shouldn't need to mess with anything beyond this point...
 #--------------------------------------------------------------
 clean_targets := clean realclean distclean \
-       objclean-y headers_clean-y utils_clean
+       objclean-y headers_clean-y CLEAN_utils
 noconfig_targets := menuconfig config oldconfig silentoldconfig randconfig \
        defconfig allyesconfig allnoconfig \
        release dist tags help
@@ -148,9 +148,9 @@ endif
 
 $(target-headers-sysdep): | $(top_builddir)include/bits $(top_builddir)include/sys
 
-sysdep_common_headers-clean:
-       $(RM) $(ALL_HEADERS_COMMON)
-headers_clean-y += sysdep_common_headers-clean
+HEADERCLEAN_common:
+       $(do_rm) $(ALL_HEADERS_COMMON)
+headers_clean-y += HEADERCLEAN_common
 
 # The headers. Arch specific headers are specified via ARCH_HEADERS in
 # libc/sysdeps/linux/$(TARGET_ARCH)/Makefile.arch which appends those via
@@ -159,10 +159,10 @@ headers-y += $(target-headers-sysdep)
 
 headers: $(top_builddir)include/bits/uClibc_config.h $(top_builddir)include/bits/sysnum.h
 subdirs: $(addprefix $(top_builddir),$(subdirs))
-pregen: headers subdirs
+pregen-headers: headers
        $(Q)$(MAKE) $(pregen-headers-y)
+pregen: pregen-headers subdirs
        $(Q)$(if $(UCLIBC_HAS_LOCALE),$(MAKE) -C extra/locale locale_headers)
-
 $(top_builddir)include/bits/sysnum.h: $(top_srcdir)extra/scripts/gen_bits_syscall_h.sh
        $(Q)$(INSTALL) -d $(@D)
        @$(disp_gen)
@@ -194,9 +194,10 @@ $(LOCAL_INSTALL_PATH):
 install: install_runtime install_dev
 
 
-RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib)
+RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)$(MULTILIB_DIR) $(RUNTIME_PREFIX)$(MULTILIB_DIR))
 
-$(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c|$(@D)
+$(top_builddir)extra/scripts/unifdef: |$(top_builddir)extra/scripts
+$(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c
        $(hcompile.u)
 
 # Installs header files.
@@ -288,8 +289,12 @@ HEADERS_RM-$(UCLIBC_SUSV4_LEGACY)            += utime.h
        # BREAKAGE: include/signal.h uses it, this rm broke bbox compile:
        ### ucontext.h
 
-install_headers: headers $(top_builddir)extra/scripts/unifdef
-       $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
+ifneq ($(findstring install,$(MAKECMDGOALS)),)
+$(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR) $(addprefix $(PREFIX)$(DEVEL_PREFIX),include lib):
+       $(do_mkdir)
+endif
+
+install_headers: headers $(top_builddir)extra/scripts/unifdef | $(PREFIX)$(DEVEL_PREFIX)include
        top_builddir=$(top_builddir) \
        $(top_srcdir)extra/scripts/install_headers.sh include $(PREFIX)$(DEVEL_PREFIX)include
        cd $(PREFIX)$(DEVEL_PREFIX)include && $(RM) -r $(HEADERS_RM-)
@@ -300,77 +305,75 @@ else
 endif
 
 # Installs development library links.
-install_dev: install_headers install_runtime
-       $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
-       -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
+install_dev: install_headers install_runtime | $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)
+       -$(INSTALL) -m 644 $(top_builddir)lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
 ifeq ($(HAVE_SHARED),y)
-       for i in `find lib/ -type l -name 'lib[a-zA-Z]*.so' | \
+       for i in `cd $(top_builddir) && find lib/ -type l -name 'lib[a-zA-Z]*.so' | \
        $(SED) -e 's/lib\///'` ; do \
                $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \
-               $(PREFIX)$(DEVEL_PREFIX)lib/$$i; \
+               $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/$$i; \
        done
 ifeq ($(HARDWIRED_ABSPATH),y)
-       if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
-               $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
-               $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \
-                   -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \
-                   -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \
-                   $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+       if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_MAJORNAME) ] ; then \
+               $(RM) $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \
+               $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)$(MULTILIB_DIR)/$(NONSHARED_LIBNAME):' \
+                   -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_MAJORNAME):' \
+                   -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(UCLIBC_LDSO):' \
+                   $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \
        fi
 else
-       -$(INSTALL) -m 755 lib/libc.so $(PREFIX)$(DEVEL_PREFIX)lib/
+       -$(INSTALL) -m 755 $(top_builddir)lib/libc.so $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
 endif
 ifeq ($(UCLIBC_HAS_THREADS),y)
 ifneq ($(LINUXTHREADS_OLD),y)
 ifeq ($(HARDWIRED_ABSPATH),y)
-       if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \
-               $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
-               cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
-               echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \
-                       >> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
+       if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/libpthread.so.$(MAJOR_VERSION) ] ; then \
+               $(RM) $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \
+               cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \
+               echo "GROUP ( $(RUNTIME_PREFIX)$(MULTILIB_DIR)/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread_nonshared.a )" \
+                       >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \
        fi
 else
-       -$(INSTALL) -m 755 lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)lib/
+       -$(INSTALL) -m 755 $(top_builddir)lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
 endif
 endif
 endif
 ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
        $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \
-               $(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so
+               $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libthread_db.so
 endif
 ifeq ($(DOPIC),y)
 #      # If we build shared libraries then the static libs are PIC...
 #      # Make _pic.a symlinks to make mklibs.py and similar tools happy.
-       if [ -d lib ] ; then \
-               for i in `find lib/ -type f -name 'lib*.a' | $(SED) -e 's/lib\///'` ; do \
-                       $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)lib/`echo $$i \
+       if [ -d $(top_builddir)lib ] ; then \
+               for i in `cd $(top_builddir) && find lib/ -type f -name 'lib*.a' | $(SED) -e 's/lib\///'` ; do \
+                       $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/`echo $$i \
                                | $(SED) -e 's/\.a$$/_pic.a/'`; \
                done ; \
        fi
 endif
 endif
 ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y)
-       for file in lib/lib*.gdb; do \
+       for file in $(top_builddir)lib/lib*.gdb; do \
                if test -f $$file; then \
-                       $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)lib; \
+                       $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR); \
                        $(INSTALL) -m 755 `echo $$file | $(SED) 's/\.gdb$$//'` \
-                         $(PREFIX)$(DEVEL_PREFIX)lib; \
+                         $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR); \
                fi; \
        done
 endif
 
 # Installs run-time libraries
-install_runtime: all
+install_runtime: all | $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)
 ifeq ($(HAVE_SHARED),y)
-       $(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)lib
-       $(INSTALL) -m 755 lib/lib*-$(VERSION).so \
-               $(PREFIX)$(RUNTIME_PREFIX)lib
-       (cd lib && $(TAR) -cf - *.so.*) | $(TAR) -xf - -C $(PREFIX)$(RUNTIME_PREFIX)lib
-       @if [ -x lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so ] ; then \
+       $(INSTALL) -m 755 $(top_builddir)lib/lib*-$(VERSION).so \
+               $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)
+       (cd $(top_builddir)lib && $(TAR) -cf - *.so.*) | $(TAR) -xf - -C $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)
+       @if [ -x $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so ] ; then \
                set -e; \
                $(SHELL_SET_X); \
-               $(INSTALL) -m 755 lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so \
-                       $(PREFIX)$(RUNTIME_PREFIX)lib; \
+               $(INSTALL) -m 755 $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so \
+                       $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR); \
        fi
 endif
 
@@ -430,7 +433,7 @@ defconfig: $(top_builddir)extra/config/conf
                -D extra/Configs/defconfigs/$(ARCH)
 
 menuconfig-clean-y:
-       $(Q)$(MAKE) -C extra/config menuconfig_clean
+       $(Q)$(MAKE) -C extra/config CLEAN_extra/config
 
 include_clean:
        $(Q)$(RM) $(top_builddir)include/fpu_control.h $(top_builddir)include/dl-osinfo.h $(top_builddir)include/hp-timing.h
@@ -446,7 +449,7 @@ include_clean:
 
 clean: include_clean
        $(Q)$(RM) -r $(top_builddir)lib $(top_builddir)include/bits
-       @$(MAKE) -C utils utils_clean
+       @$(MAKE) -C utils CLEAN_utils
        +$(MAKE) -s -C test clean
        @$(RM) $(top_builddir)include/linux $(top_builddir)include/asm*
        $(Q)$(RM) $(top_builddir)extra/scripts/unifdef
@@ -459,11 +462,12 @@ distclean: clean
        $(MAKE) -C extra/config distclean
 
 dist release:
-       $(RM) -r ../uClibc-$(VERSION) ../uClibc-$(VERSION).tar.bz2
-       mkdir -p ../uClibc-$(VERSION)
-       git archive HEAD |(cd  ../uClibc-$(VERSION) && $(TAR) xf -)
-       $(TAR) cjf ../uClibc-$(VERSION).tar.bz2 -C .. uClibc-$(VERSION)
-       du -b ../uClibc-$(VERSION).tar.bz2
+       $(RM) ../uClibc-$(VERSION).tar
+       git archive HEAD --format=tar --prefix=uClibc-$(VERSION)/ \
+               > ../uClibc-$(VERSION).tar
+       cat ../uClibc-$(VERSION).tar | bzip2 -c9 > ../uClibc-$(VERSION).tar.bz2
+       cat ../uClibc-$(VERSION).tar | xz -e -c8 > ../uClibc-$(VERSION).tar.xz
+       du -b ../uClibc-$(VERSION).tar.{bz2,xz}
 
 test check: test_compile
        $(Q)$(MAKE) -C test