diff options
Diffstat (limited to 'libc')
32 files changed, 200 insertions, 288 deletions
diff --git a/libc/inet/Makefile.in b/libc/inet/Makefile.in index a4d3c49e6..5a5593838 100644 --- a/libc/inet/Makefile.in +++ b/libc/inet/Makefile.in @@ -11,33 +11,34 @@ include $(top_srcdir)libc/inet/rpc/Makefile.in  INET_DIR := $(top_srcdir)libc/inet  INET_OUT := $(top_builddir)libc/inet +V4_OR_V6 := $(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6))  CFLAGS-inet := -DRESOLVER="\"resolv.c\""  CSRC-y :=  # des uses ntohl -CSRC-$(findstring y,$(UCLIBC_HAS_CRYPT_IMPL)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += ntohl.c -CSRC-$(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += \ +CSRC-$(findstring y,$(UCLIBC_HAS_CRYPT_IMPL)$(V4_OR_V6)) += ntohl.c +CSRC-$(V4_OR_V6) += \  	getservice.c getproto.c getnet.c hostid.c \  	inet_net.c herror.c if_index.c gai_strerror.c getaddrinfo.c \  	ifaddrs.c ntop.c  CSRC-$(UCLIBC_HAS_IPV6) += in6_addr.c  # multi source addr.c -CSRC-$(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += \ +CSRC-$(V4_OR_V6) += \  	inet_aton.c inet_addr.c inet_ntoa.c inet_makeaddr.c \  	inet_lnaof.c inet_netof.c  # multi source resolv.c -CSRC-$(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += \ +CSRC-$(V4_OR_V6) += \  	encodeh.c decodeh.c encoded.c decoded.c \  	encodeq.c encodea.c \  	read_etc_hosts_r.c \  	dnslookup.c opennameservers.c closenameservers.c \  	getnameinfo.c \  	gethostent.c gethostent_r.c -CSRC-$(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += \ +CSRC-$(V4_OR_V6) += \  	get_hosts_byaddr_r.c get_hosts_byname_r.c \  	gethostbyaddr_r.c gethostbyname_r.c gethostbyname2_r.c \  	gethostbyaddr.c gethostbyname.c gethostbyname2.c -CSRC-$(findstring y,$(UCLIBC_HAS_RESOLVER_SUPPORT)) += \ +CSRC-$(UCLIBC_HAS_RESOLVER_SUPPORT) += \  	ns_netint.c ns_parse.c res_data.c \  	res_init.c res_query.c res_comp.c ns_name.c \  	_res_state.c @@ -52,7 +53,7 @@ socketcalls_CSRC-y += \  socketcalls_CSRC-$(UCLIBC_LINUX_SPECIFIC) += accept4.c  CSRC-$(UCLIBC_HAS_SOCKET) += $(socketcalls_CSRC-y) opensock.c -CSRC-$(findstring y,$(UCLIBC_HAS_SOCKET)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += ethers.c ether_addr.c +CSRC-$(findstring y,$(UCLIBC_HAS_SOCKET)$(V4_OR_V6)) += ethers.c ether_addr.c  INET_SRC := $(patsubst %.c,$(INET_DIR)/%.c,$(CSRC-y))  INET_OBJ := $(patsubst %.c,$(INET_OUT)/%.o,$(CSRC-y)) diff --git a/libc/inet/rpc/Makefile.in b/libc/inet/rpc/Makefile.in index 6ec674d10..481961d80 100644 --- a/libc/inet/rpc/Makefile.in +++ b/libc/inet/rpc/Makefile.in @@ -9,9 +9,8 @@ subdirs += libc/inet/rpc  CFLAGS-rpc := -fno-strict-aliasing -ifneq ($(UCLIBC_HAS_FULL_RPC),y)  # For now, only compile the stuff needed to do an NFS mount.... -CSRC:=	authunix_prot.c auth_none.c auth_unix.c bindresvport.c \ +CSRC_NFS = authunix_prot.c auth_none.c auth_unix.c bindresvport.c \  	clnt_perror.c clnt_simple.c clnt_tcp.c clnt_udp.c \  	create_xid.c getrpcent.c \  	pmap_clnt.c pm_getmaps.c pm_getport.c pmap_prot.c pmap_prot2.c \ @@ -19,27 +18,22 @@ CSRC:=	authunix_prot.c auth_none.c auth_unix.c bindresvport.c \  	rpc_prot.c rpc_thread.c rtime.c ruserpass.c sa_len.c \  	svc.c svc_auth.c svc_authux.c \  	xdr.c xdr_array.c xdr_mem.c xdr_rec.c xdr_reference.c -endif +CSRC_ALL = $(notdir $(wildcard $(INET_RPC_DIR)/*.c)) +CSRC-y := $(if $(UCLIBC_HAS_FULL_RPC),$(CSRC_ALL),$(CSRC_NFS)) +# rpc_thread.oS is better, because the header adds unneeded references +# to __pthread_internal_tsd* +CSRC-y := $(filter-out rpc_thread.c,$(CSRC-y))  INET_RPC_DIR:=$(top_srcdir)libc/inet/rpc  INET_RPC_OUT:=$(top_builddir)libc/inet/rpc -ifeq ($(UCLIBC_HAS_FULL_RPC),y) -INET_RPC_SRC:=$(wildcard $(INET_RPC_DIR)/*.c) -else -INET_RPC_SRC:=$(patsubst %.c,$(INET_RPC_DIR)/%.c,$(CSRC)) -endif -# rpc_thread.oS is better, because the header adds unneeded references to __pthread_internal_tsd* -INET_RPC_SRC:=$(filter-out $(INET_RPC_DIR)/rpc_thread.c,$(INET_RPC_SRC)) - -INET_RPC_OBJ:=$(patsubst $(INET_RPC_DIR)/%.c,$(INET_RPC_OUT)/%.o,$(INET_RPC_SRC)) - -libc-static-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OUT)/rpc_thread.o -libc-shared-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OUT)/rpc_thread.oS +INET_RPC_SRC:=$(patsubst %.c,$(INET_RPC_DIR)/%.c,$(CSRC-y)) +INET_RPC_OBJ:=$(patsubst %.c,$(INET_RPC_OUT)/%.o,$(CSRC-y)) +libc-static-$(UCLIBC_HAS_RPC)  += $(INET_RPC_OUT)/rpc_thread.o +libc-shared-$(UCLIBC_HAS_RPC)  += $(INET_RPC_OUT)/rpc_thread.oS  libc-nomulti-$(UCLIBC_HAS_RPC) += $(INET_RPC_OUT)/rpc_thread.o - -libc-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OBJ) +libc-$(UCLIBC_HAS_RPC) += $(INET_RPC_OBJ)  objclean-y+=CLEAN_libc/inet/rpc diff --git a/libc/misc/assert/Makefile.in b/libc/misc/assert/Makefile.in index a49e00d2e..aba8a3b8d 100644 --- a/libc/misc/assert/Makefile.in +++ b/libc/misc/assert/Makefile.in @@ -7,13 +7,13 @@  subdirs += libc/misc/assert -CSRC := __assert.c +CSRC-y := __assert.c  MISC_ASSERT_DIR := $(top_srcdir)libc/misc/assert  MISC_ASSERT_OUT := $(top_builddir)libc/misc/assert -MISC_ASSERT_SRC := $(MISC_ASSERT_DIR)/__assert.c -MISC_ASSERT_OBJ := $(MISC_ASSERT_OUT)/__assert.o +MISC_ASSERT_SRC := $(patsubst %.c,$(MISC_ASSERT_DIR)/%.c,$(CSRC-y)) +MISC_ASSERT_OBJ := $(patsubst %.c,$(MISC_ASSERT_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_ASSERT_OBJ) diff --git a/libc/misc/ctype/Makefile.in b/libc/misc/ctype/Makefile.in index 125d91699..0ebaec285 100644 --- a/libc/misc/ctype/Makefile.in +++ b/libc/misc/ctype/Makefile.in @@ -8,31 +8,25 @@  subdirs += libc/misc/ctype  # multi source ctype.c -COM_SRC := \ +COM_SRC-y := \  	isalnum.c isalpha.c iscntrl.c isdigit.c \  	isgraph.c islower.c isprint.c ispunct.c isspace.c \  	isupper.c isxdigit.c tolower.c toupper.c \  	isblank.c -ifeq ($(UCLIBC_SUSV4_LEGACY),y) -COM_SRC += isascii.c toascii.c -endif -CSRC := $(COM_SRC) +COM_SRC-$(UCLIBC_SUSV4_LEGACY) += isascii.c toascii.c +CSRC-y := $(COM_SRC-y) -ifeq ($(UCLIBC_HAS_CTYPE_TABLES),y) -CSRC +=	__C_ctype_b.c __C_ctype_tolower.c __C_ctype_toupper.c \ +CSRC-$(UCLIBC_HAS_CTYPE_TABLES) += \ +	__C_ctype_b.c __C_ctype_tolower.c __C_ctype_toupper.c \  	__ctype_b_loc.c __ctype_tolower_loc.c __ctype_toupper_loc.c \  	__ctype_assert.c isctype.c -endif - -ifeq ($(UCLIBC_HAS_XLOCALE),y) -CSRC += $(patsubst %.c,%_l.c,$(COM_SRC)) -endif +CSRC-$(UCLIBC_HAS_XLOCALE) += $(patsubst %.c,%_l.c,$(COM_SRC-y))  MISC_CTYPE_DIR := $(top_srcdir)libc/misc/ctype  MISC_CTYPE_OUT := $(top_builddir)libc/misc/ctype -MISC_CTYPE_SRC := $(patsubst %.c,$(MISC_CTYPE_DIR)/%.c,$(CSRC)) -MISC_CTYPE_OBJ := $(patsubst %.c,$(MISC_CTYPE_OUT)/%.o,$(CSRC)) +MISC_CTYPE_SRC := $(patsubst %.c,$(MISC_CTYPE_DIR)/%.c,$(CSRC-y)) +MISC_CTYPE_OBJ := $(patsubst %.c,$(MISC_CTYPE_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_CTYPE_OBJ) diff --git a/libc/misc/dirent/Makefile.in b/libc/misc/dirent/Makefile.in index d42dfeb1e..5cae8d44d 100644 --- a/libc/misc/dirent/Makefile.in +++ b/libc/misc/dirent/Makefile.in @@ -7,18 +7,18 @@  subdirs += libc/misc/dirent -CSRC :=	alphasort.c closedir.c dirfd.c opendir.c readdir.c rewinddir.c \ -	scandir.c seekdir.c telldir.c readdir_r.c versionsort.c - -ifeq ($(UCLIBC_HAS_LFS),y) -CSRC +=	readdir64.c alphasort64.c scandir64.c readdir64_r.c versionsort64.c -endif +CSRC   := alphasort.c readdir.c scandir.c versionsort.c +CSRC_R := readdir_r.c +CSRC-y := closedir.c dirfd.c opendir.c rewinddir.c seekdir.c telldir.c $(CSRC) \ +		  $(CSRC_R) +CSRC-$(UCLIBC_HAS_LFS) += $(patsubst %.c,%64.c,$(CSRC)) +CSRC-$(UCLIBC_HAS_LFS) += $(patsubst %_r.c,%64_r.c,$(CSRC_R))  MISC_DIRENT_DIR := $(top_srcdir)libc/misc/dirent  MISC_DIRENT_OUT := $(top_builddir)libc/misc/dirent -MISC_DIRENT_SRC := $(patsubst %.c,$(MISC_DIRENT_DIR)/%.c,$(CSRC)) -MISC_DIRENT_OBJ := $(patsubst %.c,$(MISC_DIRENT_OUT)/%.o,$(CSRC)) +MISC_DIRENT_SRC := $(patsubst %.c,$(MISC_DIRENT_DIR)/%.c,$(CSRC-y)) +MISC_DIRENT_OBJ := $(patsubst %.c,$(MISC_DIRENT_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_DIRENT_OBJ) diff --git a/libc/misc/error/Makefile.in b/libc/misc/error/Makefile.in index b76a0dfff..fa959c131 100644 --- a/libc/misc/error/Makefile.in +++ b/libc/misc/error/Makefile.in @@ -7,19 +7,15 @@  subdirs += libc/misc/error -CSRC := -ifeq ($(UCLIBC_HAS_BSD_ERR),y) -CSRC += err.c -endif -ifeq ($(UCLIBC_HAS_GNU_ERROR),y) -CSRC += error.c -endif +CSRC-y := +CSRC-$(UCLIBC_HAS_BSD_ERR) += err.c +CSRC-$(UCLIBC_HAS_GNU_ERROR) += error.c  MISC_ERROR_DIR := $(top_srcdir)libc/misc/error  MISC_ERROR_OUT := $(top_builddir)libc/misc/error -MISC_ERROR_SRC := $(patsubst %.c,$(MISC_ERROR_DIR)/%.c,$(CSRC)) -MISC_ERROR_OBJ := $(patsubst %.c,$(MISC_ERROR_OUT)/%.o,$(CSRC)) +MISC_ERROR_SRC := $(patsubst %.c,$(MISC_ERROR_DIR)/%.c,$(CSRC-y)) +MISC_ERROR_OBJ := $(patsubst %.c,$(MISC_ERROR_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_ERROR_OBJ) diff --git a/libc/misc/file/Makefile.in b/libc/misc/file/Makefile.in index ace9db060..b94efa67f 100644 --- a/libc/misc/file/Makefile.in +++ b/libc/misc/file/Makefile.in @@ -10,12 +10,12 @@ subdirs += libc/misc/file  MISC_FILE_DIR := $(top_srcdir)libc/misc/file  MISC_FILE_OUT := $(top_builddir)libc/misc/file -MISC_FILE_SRC := $(wildcard $(MISC_FILE_DIR)/*.c) -ifneq ($(UCLIBC_HAS_LFS),y) -MISC_FILE_SRC := $(filter-out $(MISC_FILE_DIR)/lockf64.c,$(MISC_FILE_SRC)) -endif -MISC_FILE_OBJ := $(patsubst $(MISC_FILE_DIR)/%.c,$(MISC_FILE_OUT)/%.o,$(MISC_FILE_SRC)) +CSRC-y := $(wildcard $(MISC_FILE_DIR)/*.c) +CSRC_LFS := $(wildcard $(MISC_FILE_DIR)/*64.c) +CSRC-y := $(filter-out $(CSRC_LFS),$(CSRC-y)) +CSRC-$(UCLIBC_HAS_LFS) += $(CSRC_LFS) +MISC_FILE_OBJ := $(patsubst $(MISC_FILE_DIR)/%.c,$(MISC_FILE_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_FILE_OBJ)  libc-nomulti-$(UCLIBC_HAS_LFS) += $(MISC_FILE_OUT)/lockf64.o diff --git a/libc/misc/fnmatch/Makefile.in b/libc/misc/fnmatch/Makefile.in index 2557b5aa7..ab43e00f1 100644 --- a/libc/misc/fnmatch/Makefile.in +++ b/libc/misc/fnmatch/Makefile.in @@ -7,17 +7,13 @@  subdirs += libc/misc/fnmatch -ifeq ($(UCLIBC_HAS_FNMATCH_OLD),y) -CSRC := fnmatch_old.c -else -CSRC := fnmatch.c -endif +CSRC-y := $(if $(UCLIBC_HAS_FNMATCH_OLD),fnmatch_old.c,fnmatch.c)  MISC_FNMATCH_DIR := $(top_srcdir)libc/misc/fnmatch  MISC_FNMATCH_OUT := $(top_builddir)libc/misc/fnmatch -MISC_FNMATCH_SRC := $(patsubst %.c,$(MISC_FNMATCH_DIR)/%.c,$(CSRC)) -MISC_FNMATCH_OBJ := $(patsubst %.c,$(MISC_FNMATCH_OUT)/%.o,$(CSRC)) +MISC_FNMATCH_SRC := $(patsubst %.c,$(MISC_FNMATCH_DIR)/%.c,$(CSRC-y)) +MISC_FNMATCH_OBJ := $(patsubst %.c,$(MISC_FNMATCH_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_FNMATCH) += $(MISC_FNMATCH_OBJ) diff --git a/libc/misc/fts/Makefile.in b/libc/misc/fts/Makefile.in index a1d0efa32..aa87d993a 100644 --- a/libc/misc/fts/Makefile.in +++ b/libc/misc/fts/Makefile.in @@ -7,13 +7,13 @@  #  subdirs += libc/misc/fts -CSRC := fts.c +CSRC-y := fts.c  MISC_FTS_DIR := $(top_srcdir)libc/misc/fts  MISC_FTS_OUT := $(top_builddir)libc/misc/fts -MISC_FTS_SRC := $(patsubst %.c,$(MISC_FTS_DIR)/%.c,$(CSRC)) -MISC_FTS_OBJ := $(patsubst %.c,$(MISC_FTS_OUT)/%.o,$(CSRC)) +MISC_FTS_SRC := $(patsubst %.c,$(MISC_FTS_DIR)/%.c,$(CSRC-y)) +MISC_FTS_OBJ := $(patsubst %.c,$(MISC_FTS_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_FTS) += $(MISC_FTS_OBJ) diff --git a/libc/misc/ftw/Makefile.in b/libc/misc/ftw/Makefile.in index 2edd81959..084a73009 100644 --- a/libc/misc/ftw/Makefile.in +++ b/libc/misc/ftw/Makefile.in @@ -7,16 +7,14 @@  subdirs += libc/misc/ftw -CSRC := ftw.c -ifeq ($(UCLIBC_HAS_LFS),y) -CSRC += ftw64.c -endif +CSRC-y := ftw.c +CSRC-$(UCLIBC_HAS_LFS) += ftw64.c  MISC_FTW_DIR := $(top_srcdir)libc/misc/ftw  MISC_FTW_OUT := $(top_builddir)libc/misc/ftw -MISC_FTW_SRC := $(patsubst %.c,$(MISC_FTW_DIR)/%.c,$(CSRC)) -MISC_FTW_OBJ := $(patsubst %.c,$(MISC_FTW_OUT)/%.o,$(CSRC)) +MISC_FTW_SRC := $(patsubst %.c,$(MISC_FTW_DIR)/%.c,$(CSRC-y)) +MISC_FTW_OBJ := $(patsubst %.c,$(MISC_FTW_OUT)/%.o,$(CSRC-y))  libc-$(findstring y,$(UCLIBC_HAS_FTW)$(UCLIBC_HAS_NFTW)) += $(MISC_FTW_OBJ) diff --git a/libc/misc/glob/Makefile.in b/libc/misc/glob/Makefile.in index 03bfcca36..c89d2b08d 100644 --- a/libc/misc/glob/Makefile.in +++ b/libc/misc/glob/Makefile.in @@ -7,23 +7,15 @@  subdirs += libc/misc/glob -ifeq ($(UCLIBC_HAS_GNU_GLOB),y) -CSRC := glob.c -ifeq ($(UCLIBC_HAS_LFS),y) -CSRC += glob64.c -endif -else -CSRC := glob-susv3.c -ifeq ($(UCLIBC_HAS_LFS),y) -CSRC += glob64-susv3.c -endif -endif +VARIANT := $(if $(UCLIBC_HAS_GNU_GLOB),,-susv3) +CSRC-y := glob$(VARIANT).c +CSRC-$(UCLIBC_HAS_LFS) += glob64$(VARIANT).c  MISC_GLOB_DIR := $(top_srcdir)libc/misc/glob  MISC_GLOB_OUT := $(top_builddir)libc/misc/glob -MISC_GLOB_SRC := $(patsubst %.c,$(MISC_GLOB_DIR)/%.c,$(CSRC)) -MISC_GLOB_OBJ := $(patsubst %.c,$(MISC_GLOB_OUT)/%.o,$(CSRC)) +MISC_GLOB_SRC := $(patsubst %.c,$(MISC_GLOB_DIR)/%.c,$(CSRC-y)) +MISC_GLOB_OBJ := $(patsubst %.c,$(MISC_GLOB_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_GLOB) += $(MISC_GLOB_OBJ) diff --git a/libc/misc/gnu/Makefile.in b/libc/misc/gnu/Makefile.in index 3990e4e8b..579cb01bc 100644 --- a/libc/misc/gnu/Makefile.in +++ b/libc/misc/gnu/Makefile.in @@ -7,13 +7,14 @@  subdirs += libc/misc/gnu -CSRC := obstack.c +$(warning XXX: add UCLIBC_HAS_OBSTACK) +CSRC-y := obstack.c  MISC_GNU_DIR := $(top_srcdir)libc/misc/gnu  MISC_GNU_OUT := $(top_builddir)libc/misc/gnu -MISC_GNU_SRC := $(MISC_GNU_DIR)/obstack.c -MISC_GNU_OBJ := $(MISC_GNU_OUT)/obstack.o +MISC_GNU_SRC := $(patsubst %.c,$(MISC_GNU_DIR)/%.c,$(CSRC-y)) +MISC_GNU_OBJ := $(patsubst %.c,$(MISC_GNU_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_GNU_OBJ) diff --git a/libc/misc/internals/Makefile.in b/libc/misc/internals/Makefile.in index 2123bbb76..ae094ee23 100644 --- a/libc/misc/internals/Makefile.in +++ b/libc/misc/internals/Makefile.in @@ -7,14 +7,14 @@  subdirs += libc/misc/internals -CSRC := tempname.c errno.c h_errno.c __errno_location.c __h_errno_location.c \ +CSRC-y := tempname.c errno.c h_errno.c __errno_location.c __h_errno_location.c \  	parse_config.c  MISC_INTERNALS_DIR := $(top_srcdir)libc/misc/internals  MISC_INTERNALS_OUT := $(top_builddir)libc/misc/internals -MISC_INTERNALS_SRC := $(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC)) -MISC_INTERNALS_OBJ := $(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC)) +MISC_INTERNALS_SRC := $(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC-y)) +MISC_INTERNALS_OBJ := $(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC-y))  CFLAGS-__uClibc_main.c := $(SSP_DISABLE_FLAGS) diff --git a/libc/misc/locale/Makefile.in b/libc/misc/locale/Makefile.in index c12befd32..3db6d5c5c 100644 --- a/libc/misc/locale/Makefile.in +++ b/libc/misc/locale/Makefile.in @@ -8,19 +8,16 @@  subdirs += libc/misc/locale  # multi source locale.c -CSRC := setlocale.c localeconv.c _locale_init.c nl_langinfo.c -ifeq ($(UCLIBC_HAS_LOCALE),y) -CSRC += newlocale.c __locale_mbrtowc_l.c -endif -ifeq ($(UCLIBC_HAS_XLOCALE),y) -CSRC += nl_langinfo_l.c duplocale.c freelocale.c uselocale.c __curlocale.c -endif +CSRC-y := setlocale.c localeconv.c _locale_init.c nl_langinfo.c +CSRC-$(UCLIBC_HAS_LOCALE) += newlocale.c __locale_mbrtowc_l.c +CSRC-$(UCLIBC_HAS_XLOCALE) += nl_langinfo_l.c duplocale.c freelocale.c \ +	uselocale.c __curlocale.c  MISC_LOCALE_DIR := $(top_srcdir)libc/misc/locale  MISC_LOCALE_OUT := $(top_builddir)libc/misc/locale -MISC_LOCALE_SRC := $(patsubst %.c,$(MISC_LOCALE_DIR)/%.c,$(CSRC)) -MISC_LOCALE_OBJ := $(patsubst %.c,$(MISC_LOCALE_OUT)/%.o,$(CSRC)) +MISC_LOCALE_SRC := $(patsubst %.c,$(MISC_LOCALE_DIR)/%.c,$(CSRC-y)) +MISC_LOCALE_OBJ := $(patsubst %.c,$(MISC_LOCALE_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_LOCALE_OBJ) diff --git a/libc/misc/mntent/Makefile.in b/libc/misc/mntent/Makefile.in index daa888da0..3ced9bbd1 100644 --- a/libc/misc/mntent/Makefile.in +++ b/libc/misc/mntent/Makefile.in @@ -7,13 +7,13 @@  subdirs += libc/misc/mntent -CSRC := mntent.c +CSRC-y := mntent.c  MISC_MNTENT_DIR := $(top_srcdir)libc/misc/mntent  MISC_MNTENT_OUT := $(top_builddir)libc/misc/mntent -MISC_MNTENT_SRC := $(MISC_MNTENT_DIR)/mntent.c -MISC_MNTENT_OBJ := $(MISC_MNTENT_OUT)/mntent.o +MISC_MNTENT_SRC := $(patsubst %.c,$(MISC_MNTENT_DIR)/%.c,$(CSRC-y)) +MISC_MNTENT_OBJ := $(patsubst %.c,$(MISC_MNTENT_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_MNTENT_OBJ) diff --git a/libc/misc/regex/Makefile.in b/libc/misc/regex/Makefile.in index 94710238f..f95a9f7a3 100644 --- a/libc/misc/regex/Makefile.in +++ b/libc/misc/regex/Makefile.in @@ -7,17 +7,14 @@  subdirs += libc/misc/regex -ifeq ($(UCLIBC_HAS_REGEX_OLD),y) -CSRC := regex_old.c -else -CSRC := regex.c -endif +VARIANT := $(if $(UCLIBC_HAS_REGEX_OLD),_old) +CSRC-y := regex$(VARIANT).c  MISC_REGEX_DIR := $(top_srcdir)libc/misc/regex  MISC_REGEX_OUT := $(top_builddir)libc/misc/regex -MISC_REGEX_SRC := $(patsubst %.c,$(MISC_REGEX_DIR)/%.c,$(CSRC)) -MISC_REGEX_OBJ := $(patsubst %.c,$(MISC_REGEX_OUT)/%.o,$(CSRC)) +MISC_REGEX_SRC := $(patsubst %.c,$(MISC_REGEX_DIR)/%.c,$(CSRC-y)) +MISC_REGEX_OBJ := $(patsubst %.c,$(MISC_REGEX_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_REGEX) += $(MISC_REGEX_OBJ) diff --git a/libc/misc/search/Makefile.in b/libc/misc/search/Makefile.in index 35dacb49b..d13766148 100644 --- a/libc/misc/search/Makefile.in +++ b/libc/misc/search/Makefile.in @@ -7,25 +7,25 @@  subdirs += libc/misc/search -CSRC := hsearch.c +CSRC-y := hsearch.c  # multi source _tsearch.c -CSRC += tsearch.c tfind.c tdelete.c twalk.c tdestroy.c +CSRC-y += tsearch.c tfind.c tdelete.c twalk.c tdestroy.c  # multi source _lsearch.c -CSRC += lfind.c lsearch.c +CSRC-y += lfind.c lsearch.c  # multi source insremque.c -CSRC += insque.c remque.c +CSRC-y += insque.c remque.c  # multi source _hsearch_r.c -CSRC += hcreate_r.c hdestroy_r.c hsearch_r.c +CSRC-y += hcreate_r.c hdestroy_r.c hsearch_r.c  MISC_SEARCH_DIR := $(top_srcdir)libc/misc/search  MISC_SEARCH_OUT := $(top_builddir)libc/misc/search -MISC_SEARCH_SRC := $(patsubst %.c,$(MISC_SEARCH_DIR)/%.c,$(CSRC)) -MISC_SEARCH_OBJ := $(patsubst %.c,$(MISC_SEARCH_OUT)/%.o,$(CSRC)) +MISC_SEARCH_SRC := $(patsubst %.c,$(MISC_SEARCH_DIR)/%.c,$(CSRC-y)) +MISC_SEARCH_OBJ := $(patsubst %.c,$(MISC_SEARCH_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_SEARCH_OBJ) diff --git a/libc/misc/statfs/Makefile.in b/libc/misc/statfs/Makefile.in index aa92d1f70..d70ab8f6e 100644 --- a/libc/misc/statfs/Makefile.in +++ b/libc/misc/statfs/Makefile.in @@ -7,19 +7,16 @@  subdirs += libc/misc/statfs -CSRC := statvfs.c fstatvfs.c -ifeq ($(UCLIBC_HAS_LFS),y) -ifeq ($(UCLIBC_LINUX_SPECIFIC),y) -CSRC += fstatfs64.c statfs64.c -endif -CSRC += statvfs64.c fstatvfs64.c -endif +CSRC-y := statvfs.c fstatvfs.c +CSRC-$(UCLIBC_HAS_LFS) += $(patsubst %.c,%64.c,$(CSRC-y)) +CSRC-$(if $(findstring yy,$(UCLIBC_HAS_LFS)$(UCLIBC_LINUX_SPECIFIC)),y) += \ +	fstatfs64.c statfs64.c  MISC_STATFS_DIR := $(top_srcdir)libc/misc/statfs  MISC_STATFS_OUT := $(top_builddir)libc/misc/statfs -MISC_STATFS_SRC := $(patsubst %.c,$(MISC_STATFS_DIR)/%.c,$(CSRC)) -MISC_STATFS_OBJ := $(patsubst %.c,$(MISC_STATFS_OUT)/%.o,$(CSRC)) +MISC_STATFS_SRC := $(patsubst %.c,$(MISC_STATFS_DIR)/%.c,$(CSRC-y)) +MISC_STATFS_OBJ := $(patsubst %.c,$(MISC_STATFS_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_STATFS_OBJ) diff --git a/libc/misc/syslog/Makefile.in b/libc/misc/syslog/Makefile.in index 5cc4f5237..2d00a33fd 100644 --- a/libc/misc/syslog/Makefile.in +++ b/libc/misc/syslog/Makefile.in @@ -7,13 +7,13 @@  subdirs += libc/misc/syslog -CSRC := syslog.c +CSRC-y := syslog.c  MISC_SYSLOG_DIR := $(top_srcdir)libc/misc/syslog  MISC_SYSLOG_OUT := $(top_builddir)libc/misc/syslog -MISC_SYSLOG_SRC := $(patsubst %.c,$(MISC_SYSLOG_DIR)/%.c,$(CSRC)) -MISC_SYSLOG_OBJ := $(patsubst %.c,$(MISC_SYSLOG_OUT)/%.o,$(CSRC)) +MISC_SYSLOG_SRC := $(patsubst %.c,$(MISC_SYSLOG_DIR)/%.c,$(CSRC-y)) +MISC_SYSLOG_OBJ := $(patsubst %.c,$(MISC_SYSLOG_OUT)/%.o,$(CSRC-y))  ifeq ($(UCLIBC_HAS_SYSLOG),y)  libc-y += $(MISC_SYSLOG_OBJ) diff --git a/libc/misc/sysvipc/Makefile.in b/libc/misc/sysvipc/Makefile.in index 115cfc67e..d1c124430 100644 --- a/libc/misc/sysvipc/Makefile.in +++ b/libc/misc/sysvipc/Makefile.in @@ -7,22 +7,22 @@  subdirs += libc/misc/sysvipc -CSRC := ftok.c __syscall_ipc.c +CSRC-y := ftok.c __syscall_ipc.c  # multi source sem.c -CSRC += semget.c semctl.c semop.c semtimedop.c +CSRC-y += semget.c semctl.c semop.c semtimedop.c  # multi source shm.c -CSRC += shmat.c shmctl.c shmdt.c shmget.c +CSRC-y += shmat.c shmctl.c shmdt.c shmget.c  # multi source msgq.c -CSRC += msgctl.c msgget.c msgrcv.c msgsnd.c +CSRC-y += msgctl.c msgget.c msgrcv.c msgsnd.c  MISC_SYSVIPC_DIR := $(top_srcdir)libc/misc/sysvipc  MISC_SYSVIPC_OUT := $(top_builddir)libc/misc/sysvipc -MISC_SYSVIPC_SRC := $(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(CSRC)) -MISC_SYSVIPC_OBJ := $(patsubst %.c,$(MISC_SYSVIPC_OUT)/%.o,$(CSRC)) +MISC_SYSVIPC_SRC := $(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(CSRC-y)) +MISC_SYSVIPC_OBJ := $(patsubst %.c,$(MISC_SYSVIPC_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_SYSVIPC_OBJ) diff --git a/libc/misc/time/Makefile.in b/libc/misc/time/Makefile.in index 78f01ad85..906a1b28e 100644 --- a/libc/misc/time/Makefile.in +++ b/libc/misc/time/Makefile.in @@ -7,33 +7,24 @@  subdirs += libc/misc/time -CSRC := adjtime.c -ifeq ($(UCLIBC_SUSV3_LEGACY),y) -CSRC += ftime.c -endif +CSRC-y := adjtime.c +CSRC-$(UCLIBC_SUSV3_LEGACY) += ftime.c  # multi source time.c -CSRC +=	asctime.c asctime_r.c clock.c ctime.c ctime_r.c gmtime.c gmtime_r.c \ +CSRC-y += asctime.c asctime_r.c clock.c ctime.c ctime_r.c gmtime.c gmtime_r.c \  	localtime.c localtime_r.c mktime.c strftime.c strptime.c tzset.c \  	_time_t2tm.c __time_tm.c _time_mktime.c dysize.c timegm.c \  	_time_mktime_tzi.c _time_localtime_tzi.c -ifeq ($(UCLIBC_HAS_FLOATS),y) -CSRC += difftime.c -endif -ifeq ($(UCLIBC_HAS_XLOCALE),y) -CSRC += strftime_l.c strptime_l.c -endif -ifeq ($(UCLIBC_HAS_WCHAR),y) -CSRC += wcsftime.c -ifeq ($(UCLIBC_HAS_XLOCALE),y) -CSRC += wcsftime_l.c -endif -endif +CSRC-$(UCLIBC_HAS_FLOATS) += difftime.c +CSRC-$(UCLIBC_HAS_XLOCALE) += strftime_l.c strptime_l.c +CSRC-$(UCLIBC_HAS_WCHAR) += wcsftime.c +CSRC-$(if $(findstring yy,$(UCLIBC_HAS_WCHAR)$(UCLIBC_HAS_XLOCALE)),y) += \ +	wcsftime_l.c  MISC_TIME_DIR := $(top_srcdir)libc/misc/time  MISC_TIME_OUT := $(top_builddir)libc/misc/time -MISC_TIME_SRC := $(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(CSRC)) -MISC_TIME_OBJ := $(patsubst %.c,$(MISC_TIME_OUT)/%.o,$(CSRC)) +MISC_TIME_SRC := $(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(CSRC-y)) +MISC_TIME_OBJ := $(patsubst %.c,$(MISC_TIME_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_TIME_OBJ) diff --git a/libc/misc/ttyent/Makefile.in b/libc/misc/ttyent/Makefile.in index bfa80bec1..02d7df8d1 100644 --- a/libc/misc/ttyent/Makefile.in +++ b/libc/misc/ttyent/Makefile.in @@ -7,13 +7,13 @@  subdirs += libc/misc/ttyent -CSRC := getttyent.c +CSRC-y := getttyent.c  MISC_TTYENT_DIR := $(top_srcdir)libc/misc/ttyent  MISC_TTYENT_OUT := $(top_builddir)libc/misc/ttyent -MISC_TTYENT_SRC := $(patsubst %.c,$(MISC_TTYENT_DIR)/%.c,$(CSRC)) -MISC_TTYENT_OBJ := $(patsubst %.c,$(MISC_TTYENT_OUT)/%.o,$(CSRC)) +MISC_TTYENT_SRC := $(patsubst %.c,$(MISC_TTYENT_DIR)/%.c,$(CSRC-y)) +MISC_TTYENT_OBJ := $(patsubst %.c,$(MISC_TTYENT_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_TTYENT_OBJ) diff --git a/libc/misc/utmp/Makefile.in b/libc/misc/utmp/Makefile.in index 49ae5a503..535efb150 100644 --- a/libc/misc/utmp/Makefile.in +++ b/libc/misc/utmp/Makefile.in @@ -7,17 +7,14 @@  subdirs += libc/misc/utmp -CSRC := utent.c wtent.c - -ifeq ($(UCLIBC_HAS_UTMPX),y) -CSRC += utxent.c -endif +CSRC-y := utent.c wtent.c +CSRC-$(UCLIBC_HAS_UTMPX) += utxent.c  MISC_UTMP_DIR := $(top_srcdir)libc/misc/utmp  MISC_UTMP_OUT := $(top_builddir)libc/misc/utmp -MISC_UTMP_SRC := $(patsubst %.c,$(MISC_UTMP_DIR)/%.c,$(CSRC)) -MISC_UTMP_OBJ := $(patsubst %.c,$(MISC_UTMP_OUT)/%.o,$(CSRC)) +MISC_UTMP_SRC := $(patsubst %.c,$(MISC_UTMP_DIR)/%.c,$(CSRC-y)) +MISC_UTMP_OBJ := $(patsubst %.c,$(MISC_UTMP_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_UTMP_OBJ) diff --git a/libc/misc/wchar/Makefile.in b/libc/misc/wchar/Makefile.in index be95a186a..32a8dbc62 100644 --- a/libc/misc/wchar/Makefile.in +++ b/libc/misc/wchar/Makefile.in @@ -19,19 +19,17 @@  subdirs += libc/misc/wchar  # multi source wchar.c -CSRC :=	btowc.c wctob.c mbsinit.c mbrlen.c mbrtowc.c wcrtomb.c mbsrtowcs.c \ +CSRC-y :=	btowc.c wctob.c mbsinit.c mbrlen.c mbrtowc.c wcrtomb.c mbsrtowcs.c \  	wcsrtombs.c _wchar_utf8sntowcs.c _wchar_wcsntoutf8s.c \  	mbsnrtowcs.c wcsnrtombs.c wcwidth.c wcswidth.c -ifeq ($(UCLIBC_HAS_LOCALE),y) -CSRC += iconv.c -endif +CSRC-$(UCLIBC_HAS_LOCALE) += iconv.c  MISC_WCHAR_DIR := $(top_srcdir)libc/misc/wchar  MISC_WCHAR_OUT := $(top_builddir)libc/misc/wchar -MISC_WCHAR_SRC := $(patsubst %.c,$(MISC_WCHAR_DIR)/%.c,$(CSRC)) -MISC_WCHAR_OBJ := $(patsubst %.c,$(MISC_WCHAR_OUT)/%.o,$(CSRC)) +MISC_WCHAR_SRC := $(patsubst %.c,$(MISC_WCHAR_DIR)/%.c,$(CSRC-y)) +MISC_WCHAR_OBJ := $(patsubst %.c,$(MISC_WCHAR_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_WCHAR) += $(MISC_WCHAR_OBJ) diff --git a/libc/misc/wctype/Makefile.in b/libc/misc/wctype/Makefile.in index 4eacc118e..d40c2d321 100644 --- a/libc/misc/wctype/Makefile.in +++ b/libc/misc/wctype/Makefile.in @@ -14,19 +14,15 @@ COM_SRC := \  	iswxdigit.c iswblank.c wctrans.c towctrans.c \  	wctype.c iswctype.c towlower.c towupper.c -CSRC := -ifeq ($(UCLIBC_HAS_WCHAR),y) -CSRC += $(COM_SRC) -endif -ifeq ($(UCLIBC_HAS_XLOCALE),y) -CSRC += $(patsubst %.c,%_l.c,$(COM_SRC)) -endif +CSRC-y := +CSRC-$(UCLIBC_HAS_WCHAR) += $(COM_SRC) +CSRC-$(UCLIBC_HAS_XLOCALE) += $(patsubst %.c,%_l.c,$(COM_SRC))  MISC_WCTYPE_DIR := $(top_srcdir)libc/misc/wctype  MISC_WCTYPE_OUT := $(top_builddir)libc/misc/wctype -MISC_WCTYPE_SRC := $(patsubst %.c,$(MISC_WCTYPE_DIR)/%.c,$(CSRC)) -MISC_WCTYPE_OBJ := $(patsubst %.c,$(MISC_WCTYPE_OUT)/%.o,$(CSRC)) +MISC_WCTYPE_SRC := $(patsubst %.c,$(MISC_WCTYPE_DIR)/%.c,$(CSRC-y)) +MISC_WCTYPE_OBJ := $(patsubst %.c,$(MISC_WCTYPE_OUT)/%.o,$(CSRC-y))  libc-y += $(MISC_WCTYPE_OBJ) diff --git a/libc/misc/wordexp/Makefile.in b/libc/misc/wordexp/Makefile.in index 981db643e..3d642488b 100644 --- a/libc/misc/wordexp/Makefile.in +++ b/libc/misc/wordexp/Makefile.in @@ -7,13 +7,13 @@  subdirs += libc/misc/wordexp -CSRC := wordexp.c +CSRC-y := wordexp.c  MISC_WORDEXP_DIR := $(top_srcdir)libc/misc/wordexp  MISC_WORDEXP_OUT := $(top_builddir)libc/misc/wordexp -MISC_WORDEXP_SRC := $(patsubst %.c,$(MISC_WORDEXP_DIR)/%.c,$(CSRC)) -MISC_WORDEXP_OBJ := $(patsubst %.c,$(MISC_WORDEXP_OUT)/%.o,$(CSRC)) +MISC_WORDEXP_SRC := $(patsubst %.c,$(MISC_WORDEXP_DIR)/%.c,$(CSRC-y)) +MISC_WORDEXP_OBJ := $(patsubst %.c,$(MISC_WORDEXP_OUT)/%.o,$(CSRC-y))  libc-$(UCLIBC_HAS_WORDEXP) += $(MISC_WORDEXP_OBJ) diff --git a/libc/pwd_grp/Makefile.in b/libc/pwd_grp/Makefile.in index 757adc85c..4a2e77385 100644 --- a/libc/pwd_grp/Makefile.in +++ b/libc/pwd_grp/Makefile.in @@ -10,20 +10,17 @@ subdirs += libc/pwd_grp  PWDGRP_DIR := $(top_srcdir)libc/pwd_grp  PWDGRP_OUT := $(top_builddir)libc/pwd_grp -CSRC := $(notdir $(wildcard $(PWDGRP_DIR)/*.c)) -CSRC := $(filter-out pwd_grp.c pwd_grp_internal.c,$(CSRC)) - -ifneq ($(UCLIBC_HAS_SHADOW),y) -SHADOW_CSRC := \ -	fgetspent_r.c fgetspent.c getspent_r.c getspent.c \ +CSRC-y := $(notdir $(wildcard $(PWDGRP_DIR)/*.c)) +CSRC-  := pwd_grp.c pwd_grp_internal.c # multi-source and helper +CSRC-$(UCLIBC_HAS_SHADOW) += fgetspent_r.c fgetspent.c getspent_r.c getspent.c \  	getspnam_r.c getspnam.c lckpwdf.c putspent.c \  	sgetspent_r.c sgetspent.c __parsespent.c  # getspuid_r.c getspuid.c -CSRC := $(filter-out $(SHADOW_CSRC),$(CSRC)) -endif -PWDGRP_SRC := $(patsubst %.c,$(PWDGRP_DIR)/%.c,$(CSRC)) -PWDGRP_OBJ := $(patsubst %.c,$(PWDGRP_OUT)/%.o,$(CSRC)) +CSRC-y := $(filter-out $(CSRC-),$(CSRC-y)) + +PWDGRP_SRC := $(patsubst %.c,$(PWDGRP_DIR)/%.c,$(CSRC-y)) +PWDGRP_OBJ := $(patsubst %.c,$(PWDGRP_OUT)/%.o,$(CSRC-y))  libc-y += $(PWDGRP_OBJ) diff --git a/libc/stdio/Makefile.in b/libc/stdio/Makefile.in index ff77bcb6a..7d697bf82 100644 --- a/libc/stdio/Makefile.in +++ b/libc/stdio/Makefile.in @@ -11,7 +11,7 @@  subdirs += libc/stdio  # SUSv3 functions -CSRC := \ +CSRC-y := \  	fclose.c fcloseall.c fdopen.c fgetpos.c fopen.c freopen.c \  	fseeko.c fsetpos.c ftello.c getdelim.c getline.c gets.c getw.c \  	perror.c puts.c putw.c remove.c rewind.c setbuf.c setbuffer.c \ @@ -19,92 +19,80 @@ CSRC := \  	printf.c vprintf.c vsprintf.c fprintf.c snprintf.c dprintf.c \  	asprintf.c sprintf.c vasprintf.c vdprintf.c vsnprintf.c \  	tmpfile.c popen.c ctermid.c +CSRC-$(UCLIBC_HAS_LFS) += fgetpos64.c fopen64.c freopen64.c \ +	fseeko64.c fsetpos64.c ftello64.c +CSRC-$(UCLIBC_SUSV4_LEGACY) += tmpnam.c tmpnam_r.c tempnam.c -ifeq ($(UCLIBC_HAS_LFS),y) -CSRC += fgetpos64.c fopen64.c freopen64.c fseeko64.c fsetpos64.c ftello64.c -endif -ifeq ($(UCLIBC_SUSV4_LEGACY),y) -CSRC += tmpnam.c tmpnam_r.c tempnam.c -endif - -# getc -> alias for fgetc -# putc -> alias for fputc -# rename is a syscall - -# Implementation support functions -CSRC += \ +# internal support functions +CSRC-y += \  	_READ.c _WRITE.c _adjust_pos.c _fopen.c _fwrite.c \  	_rfill.c _stdio.c _trans2r.c _trans2w.c _wcommit.c \  	_cs_funcs.c _load_inttype.c _store_inttype.c _uintmaxtostr.c -ifeq ($(UCLIBC_HAS_FLOATS),y) -CSRC += _fpmaxtostr.c -endif +CSRC-$(UCLIBC_HAS_FLOATS) += _fpmaxtostr.c  # stdio_ext.h functions -CSRC += \ +CSRC-y += \  	__fbufsize.c __flbf.c __fpending.c __fpurge.c __freadable.c \  	__freading.c __fsetlocking.c __fwritable.c __fwriting.c _flushlbf.c  # Other glibc extensions -ifeq ($(UCLIBC_HAS_GLIBC_CUSTOM_STREAMS),y) -CSRC += fopencookie.c fmemopen.c open_memstream.c -endif +CSRC-$(UCLIBC_HAS_GLIBC_CUSTOM_STREAMS) += fopencookie.c fmemopen.c \ +	open_memstream.c  # pthread functions -CSRC += flockfile.c ftrylockfile.c funlockfile.c +CSRC-y += flockfile.c ftrylockfile.c funlockfile.c  # Functions with unlocked versions -CUSRC := \ +CUSRC-y := \  	clearerr.c feof.c ferror.c fflush.c fgetc.c fgets.c fileno.c \  	fputc.c fputs.c fread.c fwrite.c getchar.c putchar.c  # getc_unlocked -> alias for fgetc_unlocked  # putc_unlocked -> alias for fputc_unlocked  # vfprintf and support functions -ifneq ($(USE_OLD_VFPRINTF),y) +ifeq ($(USE_OLD_VFPRINTF),y) +VF_CSRC := old_vfprintf.c +else +# multi source _vfprintf.c  VF_CSRC := \  	vfprintf.c \  	_vfprintf_internal.c \  	_ppfs_init.c _ppfs_prepargs.c _ppfs_setargs.c _ppfs_parsespec.c \  	register_printf_function.c parse_printf_format.c -CSRC += $(VF_CSRC) -else -CSRC += old_vfprintf.c  endif +CSRC-y += $(VF_CSRC)  # vfscanf and support functions plus other *scanf funcs -CSRC += \ +CSRC-y += \  	vfscanf.c __scan_cookie.c __psfs_parse_spec.c __psfs_do_numeric.c \  	scanf.c sscanf.c fscanf.c vscanf.c vsscanf.c -ifeq ($(UCLIBC_HAS_WCHAR),y) -CSRC += _wfwrite.c fwprintf.c swprintf.c vswprintf.c vwprintf.c wprintf.c \ +CSRC-$(UCLIBC_HAS_WCHAR) += \ +	_wfwrite.c fwprintf.c swprintf.c vswprintf.c vwprintf.c wprintf.c \  	fwide.c ungetwc.c -CUSRC += fgetwc.c getwchar.c fgetws.c fputwc.c putwchar.c fputws.c +CUSRC-$(UCLIBC_HAS_WCHAR) += \ +	fgetwc.c getwchar.c fgetws.c fputwc.c putwchar.c fputws.c  # getwc (fgetwc alias) getwc_unlocked (fgetwc_unlocked alias)  # putwc (fputwc alias) putwc_unlocked (fputwc_unlocked alias) -CSRC += vfwprintf.c _vfwprintf_internal.c -CSRC += wscanf.c swscanf.c fwscanf.c vwscanf.c vswscanf.c vfwscanf.c -endif - -CUSRC_UNLOCKED := $(patsubst %.c,%_unlocked.c,$(CUSRC)) +CSRC-$(UCLIBC_HAS_WCHAR) += vfwprintf.c _vfwprintf_internal.c \ +	wscanf.c swscanf.c fwscanf.c vwscanf.c vswscanf.c vfwscanf.c -CSRC += $(CUSRC) $(CUSRC_UNLOCKED) +CUSRC_UNLOCKED := $(patsubst %.c,%_unlocked.c,$(CUSRC-y)) +CSRC-y += $(CUSRC-y) $(CUSRC_UNLOCKED)  STDIO_DIR := $(top_srcdir)libc/stdio  STDIO_OUT := $(top_builddir)libc/stdio -STDIO_SRC := $(patsubst %.c,$(STDIO_DIR)/%.c,$(CSRC)) -STDIO_OBJ := $(patsubst %.c,$(STDIO_OUT)/%.o,$(CSRC)) +STDIO_SRC := $(patsubst %.c,$(STDIO_DIR)/%.c,$(CSRC-y)) +STDIO_OBJ := $(patsubst %.c,$(STDIO_OUT)/%.o,$(CSRC-y))  libc-y += $(STDIO_OBJ)  ifneq ($(USE_OLD_VFPRINTF),y)  libc-nomulti-y += $(patsubst %.c,$(STDIO_OUT)/%.o,$(VF_CSRC))  endif -ifeq ($(UCLIBC_HAS_WCHAR),y) -libc-nomulti-y += $(STDIO_OUT)/vfwprintf.o $(STDIO_OUT)/vfwscanf.o -endif +libc-nomulti-$(UCLIBC_HAS_WCHAR) += $(STDIO_OUT)/vfwprintf.o \ +	$(STDIO_OUT)/vfwscanf.o  objclean-y += CLEAN_libc/stdio diff --git a/libc/stdlib/malloc-simple/Makefile.in b/libc/stdlib/malloc-simple/Makefile.in index 351504bda..05a2ebeee 100644 --- a/libc/stdlib/malloc-simple/Makefile.in +++ b/libc/stdlib/malloc-simple/Makefile.in @@ -10,11 +10,11 @@ subdirs += libc/stdlib/malloc-simple  STDLIB_MALLOC_SIMPLE_DIR := $(top_srcdir)libc/stdlib/malloc-simple  STDLIB_MALLOC_SIMPLE_OUT := $(top_builddir)libc/stdlib/malloc-simple -CSRC := $(notdir $(wildcard $(STDLIB_MALLOC_SIMPLE_DIR)/*.c)) -CSRC := $(filter-out alloc.c,$(CSRC)) +CSRC-y := $(notdir $(wildcard $(STDLIB_MALLOC_SIMPLE_DIR)/*.c)) +CSRC-y := $(filter-out alloc.c,$(CSRC-y)) -STDLIB_MALLOC_SIMPLE_SRC := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_DIR)/%.c,$(CSRC)) -STDLIB_MALLOC_SIMPLE_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(CSRC)) +STDLIB_MALLOC_SIMPLE_SRC := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_DIR)/%.c,$(CSRC-y)) +STDLIB_MALLOC_SIMPLE_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(CSRC-y))  libc-$(MALLOC_SIMPLE) += $(STDLIB_MALLOC_SIMPLE_OBJ) diff --git a/libc/stdlib/malloc-standard/Makefile.in b/libc/stdlib/malloc-standard/Makefile.in index 7da7fe1df..04a46b681 100644 --- a/libc/stdlib/malloc-standard/Makefile.in +++ b/libc/stdlib/malloc-standard/Makefile.in @@ -7,15 +7,13 @@  subdirs += libc/stdlib/malloc-standard -# calloc.c can be found at uClibc/libc/stdlib/calloc.c -# valloc.c can be found at uClibc/libc/stdlib/valloc.c -CSRC := malloc.c calloc.c realloc.c free.c memalign.c mallopt.c mallinfo.c -  STDLIB_MALLOC_STANDARD_DIR := $(top_srcdir)libc/stdlib/malloc-standard  STDLIB_MALLOC_STANDARD_OUT := $(top_builddir)libc/stdlib/malloc-standard -STDLIB_MALLOC_STANDARD_SRC := $(patsubst %.c,$(STDLIB_MALLOC_STANDARD_DIR)/%.c,$(CSRC)) -STDLIB_MALLOC_STANDARD_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_STANDARD_OUT)/%.o,$(CSRC)) +CSRC-y := $(notdir $(wildcard $(STDLIB_MALLOC_STANDARD_DIR)/*.c)) + +STDLIB_MALLOC_STANDARD_SRC := $(patsubst %.c,$(STDLIB_MALLOC_STANDARD_DIR)/%.c,$(CSRC-y)) +STDLIB_MALLOC_STANDARD_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_STANDARD_OUT)/%.o,$(CSRC-y))  libc-$(MALLOC_STANDARD) += $(STDLIB_MALLOC_STANDARD_OBJ) diff --git a/libc/stdlib/malloc/Makefile.in b/libc/stdlib/malloc/Makefile.in index 642570c95..9efd34e8b 100644 --- a/libc/stdlib/malloc/Makefile.in +++ b/libc/stdlib/malloc/Makefile.in @@ -9,12 +9,12 @@  subdirs += libc/stdlib/malloc -CSRC :=	malloc.c calloc.c free.c realloc.c memalign.c \ +CSRC-y :=	malloc.c calloc.c free.c realloc.c memalign.c \  	heap_alloc.c heap_alloc_at.c heap_free.c  # Turn on malloc debugging if requested +CSRC-$(UCLIBC_MALLOC_DEBUGGING) += malloc_debug.c heap_debug.c  ifeq ($(UCLIBC_MALLOC_DEBUGGING),y) -CSRC += malloc_debug.c heap_debug.c  CFLAGS += -DMALLOC_DEBUGGING -DHEAP_DEBUGGING  ifeq ($(UCLIBC_UCLINUX_BROKEN_MUNMAP),y)  CFLAGS += -DMALLOC_MMB_DEBUGGING @@ -24,8 +24,8 @@ endif  STDLIB_MALLOC_DIR := $(top_srcdir)libc/stdlib/malloc  STDLIB_MALLOC_OUT := $(top_builddir)libc/stdlib/malloc -STDLIB_MALLOC_SRC := $(patsubst %.c,$(STDLIB_MALLOC_DIR)/%.c,$(CSRC)) -STDLIB_MALLOC_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_OUT)/%.o,$(CSRC)) +STDLIB_MALLOC_SRC := $(patsubst %.c,$(STDLIB_MALLOC_DIR)/%.c,$(CSRC-y)) +STDLIB_MALLOC_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_OUT)/%.o,$(CSRC-y))  libc-$(MALLOC) += $(STDLIB_MALLOC_OBJ) diff --git a/libc/unistd/Makefile.in b/libc/unistd/Makefile.in index 98edc6a25..5eedf1732 100644 --- a/libc/unistd/Makefile.in +++ b/libc/unistd/Makefile.in @@ -10,39 +10,23 @@ subdirs += libc/unistd  UNISTD_DIR := $(top_srcdir)libc/unistd  UNISTD_OUT := $(top_builddir)libc/unistd -CSRC := $(notdir $(wildcard $(UNISTD_DIR)/*.c)) -# multi source -CSRC := $(filter-out exec.c,$(CSRC)) - -ifeq ($(ARCH_USE_MMU),y) -CSRC := $(filter-out __exec_alloc.c,$(CSRC)) -endif - -ifeq ($(UCLIBC_HAS_GNU_GETOPT),y) -CSRC := $(filter-out getopt-susv3.c getopt_long-simple.c,$(CSRC)) -else -CSRC := $(filter-out getopt.c,$(CSRC)) -ifneq ($(UCLIBC_HAS_GETOPT_LONG),y) -CSRC := $(filter-out getopt_long-simple.c,$(CSRC)) -endif -endif - -ifeq ($(UCLIBC_HAS_GNU_GETSUBOPT),y) -CSRC := $(filter-out getsubopt-susv3.c,$(CSRC)) -else -CSRC := $(filter-out getsubopt.c,$(CSRC)) -endif - -ifneq ($(UCLIBC_SUSV3_LEGACY),y) -CSRC := $(filter-out ualarm.c usleep.c,$(CSRC)) -endif - -#ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) -#CSRC := $(filter-out sleep.c,$(CSRC)) -#endif - -UNISTD_SRC := $(patsubst %.c,$(UNISTD_DIR)/%.c,$(CSRC)) -UNISTD_OBJ := $(patsubst %.c,$(UNISTD_OUT)/%.o,$(CSRC)) +CSRC-y := $(notdir $(wildcard $(UNISTD_DIR)/*.c)) +OMIT-y := exec.c # multi source +OMIT-$(ARCH_USE_MMU) += __exec_alloc.c +OMIT-$(if $(UCLIBC_SUSV3_LEGACY),,y) += ualarm.c usleep.c +#OMIT-$(UCLIBC_HAS_THREADS_NATIVE) += sleep.c + +# the VARIANT we OMIT +# GNU_GETOPT comes with getopt_long unconditionally (?), OMIT the other +VARIANT := $(if $(UCLIBC_HAS_GNU_GETOPT),-susv3) +GO_LONG := $(if $(UCLIBC_HAS_GNU_GETOPT),getopt_long-simple.c) +OMIT-$(UCLIBC_HAS_GNU_GETOPT) += getopt$(VARIANT).c $(GO_LONG) +OMIT-$(UCLIBC_HAS_GNU_GETSUBOPT) += getsubopt$(VARIANT).c + +CSRC-y := $(filter-out $(OMIT-y),$(CSRC-y)) + +UNISTD_SRC := $(patsubst %.c,$(UNISTD_DIR)/%.c,$(CSRC-y)) +UNISTD_OBJ := $(patsubst %.c,$(UNISTD_OUT)/%.o,$(CSRC-y))  libc-y += $(UNISTD_OBJ)  | 
