# on spot to save us from alot of hazzle.
$(top_builddir)include/bits/uClibc_config.h: $(top_builddir)extra/config/conf $(KCONFIG_CONFIG) $(top_srcdir)extra/scripts/conf-header.sh | $(top_builddir)include/bits $(top_builddir)include/config
@$(disp_gen)
- $(Q)@$< -s $(top_srcdir)extra/Configs/Config.$(ARCH)
+ $(Q)@$< -s $(top_srcdir)extra/Configs/Config.in
$(Q)$(top_srcdir)extra/scripts/conf-header.sh $(KCONFIG_CONFIG) > $@
$(Q)$(MAKE) headers-y
$(ALL_HEADERS_BITS_ARCH) \
$(ALL_HEADERS_BITS_SUBARCH) \
$(ALL_HEADERS_SYS_COMMON) \
- $(ALL_HEADERS_SYS_ARCH)
+ $(ALL_HEADERS_SYS_ARCH) \
+ $(ALL_HEADERS_BITS_PTHREAD)
$(top_builddir)include/fpu_control.h:
@$(disp_ln)
headers: $(top_builddir)include/bits/uClibc_config.h
subdirs: $(addprefix $(top_builddir),$(subdirs))
-pregen: $(top_builddir)include/bits/sysnum.h headers subdirs
+pregen: $(top_builddir)include/bits/sysnum.h headers subdirs $(pthread_pregen)
+ $(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)
RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib)
-$(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c
+$(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c|$(@D)
$(hcompile.u)
# Installs header files.
HEADERS_RM- := \
dl-osinfo.h \
_lfs_64.h \
+ bits/uClibc_arch_features.h \
bits/kernel_sigaction.h \
bits/kernel_stat.h \
bits/kernel_types.h \
+ bits/syscalls.h \
bits/syscalls-common.h \
bits/utmpx.h \
bits/uClibc_errno.h \
bits/atomic.h \
bits/sigcontextinfo.h \
bits/stackinfo.h \
- tls.h
- # gcc 4.3.1 needs it, dont rm:
- #bits/uClibc_arch_features.h
+ tls.h \
+ rpc/des_crypt.h \
+ rpc/key_prot.h \
+ rpc/rpc_des.h \
+ sgtty.h
HEADERS_RM-$(UCLIBC_HAS_FLOATS) += \
complex.h \
fpu_control.h \
HEADERS_RM-$(UCLIBC_HAS_CRYPT) += crypt.h
HEADERS_RM-$(UCLIBC_HAS_EPOLL) += sys/epoll.h
HEADERS_RM-$(UCLIBC_HAS_FENV) += fenv.h bits/fenv.h bits/fenvinline.h
-HEADERS_RM-$(UCLIBC_HAS_FTW) += ftw.h
+HEADERS_RM-$(findstring y,$(UCLIBC_HAS_FTW)$(UCLIBC_HAS_NFTW)) += ftw.h
HEADERS_RM-$(UCLIBC_HAS_GETTEXT_AWARENESS) += libintl.h
HEADERS_RM-$(UCLIBC_HAS_GLIBC_CUSTOM_PRINTF) += printf.h
HEADERS_RM-$(UCLIBC_HAS_GLOB) += glob.h
HEADERS_RM-$(UCLIBC_SUPPORT_AI_ADDRCONFIG) += ifaddrs.h
HEADERS_RM-$(UCLIBC_SV4_DEPRECATED) += ustat.h sys/ustat.h bits/ustat.h
HEADERS_RM-$(UCLIBC_SUSV3_LEGACY) += sys/timeb.h regexp.h
+HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h
# BREAKAGE: include/signal.h uses it, this rm broke bbox compile:
### ucontext.h
$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
top_builddir=$(top_builddir) \
$(top_srcdir)extra/scripts/install_headers.sh include $(PREFIX)$(DEVEL_PREFIX)include
- # Disabled. If libc-internal.h is needed, document here why!
- #printf '#ifndef _LIBC_INTERNAL_H\n#define _LIBC_INTERNAL_H 1\n#endif\n' >$(PREFIX)$(DEVEL_PREFIX)include/libc-internal.h
- echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
- $(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h
cd $(PREFIX)$(DEVEL_PREFIX)include && $(RM) -r $(HEADERS_RM-)
ifeq ($(UCLIBC_HAS_WCHAR),)
cd $(PREFIX)$(DEVEL_PREFIX)include && mv -f wchar-stub.h wchar.h
endif
# Installs development library links.
-install_dev: install_headers all
+install_dev: install_headers install_runtime
$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
-$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
ifeq ($(HAVE_SHARED),y)
$(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
fi
else
- -$(INSTALL) -m 644 lib/libc.so $(PREFIX)$(DEVEL_PREFIX)lib/
+ -$(INSTALL) -m 755 lib/libc.so $(PREFIX)$(DEVEL_PREFIX)lib/
endif
ifeq ($(UCLIBC_HAS_THREADS),y)
ifneq ($(LINUXTHREADS_OLD),y)
>> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
fi
else
- -$(INSTALL) -m 644 lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)lib/
+ -$(INSTALL) -m 755 lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)lib/
endif
endif
endif
install_runtime: all
ifeq ($(HAVE_SHARED),y)
$(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)lib
- $(INSTALL) -m 644 lib/lib*-$(VERSION).so \
+ $(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 \
endif
utils:
- $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils
+ $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils $@
# Installs helper applications, such as 'ldd' and 'ldconfig'
install_utils: utils
- $(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils utils_install
+ $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils utils_install
endif # ifeq ($(HAVE_DOT_CONFIG),y)
hostutils:
- $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" HOSTCC="$(HOSTCC)" -C utils hostutils
+ $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" HOSTCC="$(HOSTCC)" DOTHOST=.host -C utils $@
install_hostutils: hostutils
- $(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils utils_install DOTHOST=.host
+ $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" HOSTCC="$(HOSTCC)" DOTHOST=.host -C utils utils_install
-$(addprefix $(top_builddir),include/bits include/sys include/config extra/config/lxdialog extra/locale $(subdirs)):
+$(addprefix $(top_builddir),include/bits include/sys include/config extra/config/lxdialog extra/locale extra/scripts $(subdirs)):
$(do_mkdir)
# configuration
$(Q)$(MAKE) -C extra/config $(@F)
menuconfig: $(top_builddir)extra/config/mconf
- $(Q)$(top_builddir)extra/config/mconf extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/mconf extra/Configs/Config.in
config: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf extra/Configs/Config.in
oldconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -o extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -o extra/Configs/Config.in
silentoldconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -s extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -s extra/Configs/Config.in
randconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -r extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -r extra/Configs/Config.in
allyesconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -y extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -y extra/Configs/Config.in
$(SED) -i -e "s/^DODEBUG=.*/# DODEBUG is not set/" \
-e "s/^DOASSERTS=.*/# DOASSERTS is not set/" \
-e "s/^SUPPORT_LD_DEBUG_EARLY=.*/# SUPPORT_LD_DEBUG_EARLY is not set/" \
-e "s/^SUPPORT_LD_DEBUG=.*/# SUPPORT_LD_DEBUG is not set/" \
-e "s/^UCLIBC_MJN3_ONLY=.*/# UCLIBC_MJN3_ONLY is not set/" \
$(KCONFIG_CONFIG)
- $(Q)$(top_builddir)extra/config/conf -o extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -o extra/Configs/Config.in
allnoconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -n extra/Configs/Config.$(ARCH)
+ $(Q)$(top_builddir)extra/config/conf -n extra/Configs/Config.in
defconfig: $(top_builddir)extra/config/conf
- $(Q)$(top_builddir)extra/config/conf -d extra/Configs/Config.$(ARCH) \
+ $(Q)$(top_builddir)extra/config/conf -d extra/Configs/Config.in \
-D extra/Configs/defconfigs/$(ARCH)
+menuconfig-clean-y:
+ $(Q)$(MAKE) -C extra/config menuconfig_clean
+
include_clean:
$(Q)$(RM) $(top_builddir)include/fpu_control.h $(top_builddir)include/dl-osinfo.h $(top_builddir)include/hp-timing.h
@set -e; \