diff --git a/src/coreutils.c b/src/coreutils.c
index ea4d7ea4b..eda8c9348 100644
--- a/src/coreutils.c
+++ b/src/coreutils.c
@@ -128,7 +128,7 @@ launch_program (const char *prog_name, int prog_argc, char **prog_argv)
 }
 
 int
-main (int argc, char **argv)
+coreutils_main (int argc, char **argv)
 {
   char *prog_name = last_component (argv[0]);
   int optc;
diff --git a/src/local.mk b/src/local.mk
old mode 100644
new mode 100755
index 4e8cbf98e..5af3cfd82
--- a/src/local.mk
+++ b/src/local.mk
@@ -1,662 +1 @@
-# Make coreutils programs.                             -*-Makefile-*-
-# This is included by the top-level Makefile.am.
-
-## Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-## This program is free software: you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program.  If not, see <https://www.gnu.org/licenses/>.
-
-# FIXME: once lib/ and gnulib-tests/ are also converted, hoist to Makefile.am
-AM_CFLAGS = $(WERROR_CFLAGS)
-
-# The list of all programs (separated in different variables to express
-# the how and when they should be installed) is defined in this makefile
-# fragment, autogenerated by the 'gen-lists-of-programs.sh' auxiliary
-# script.
-include $(srcdir)/src/cu-progs.mk
-
-EXTRA_PROGRAMS = \
-   $(no_install__progs) \
-   $(build_if_possible__progs) \
-   $(default__progs)
-
-# The user can tweak these lists at configure time.
-bin_PROGRAMS = @bin_PROGRAMS@
-pkglibexec_PROGRAMS = @pkglibexec_PROGRAMS@
-
-# Needed by the testsuite.
-noinst_PROGRAMS =		\
-  src/getlimits			\
-  src/make-prime-list
-
-noinst_HEADERS =		\
-  src/chown-core.h		\
-  src/copy.h			\
-  src/cp-hash.h			\
-  src/die.h			\
-  src/dircolors.h		\
-  src/expand-common.h		\
-  src/fiemap.h			\
-  src/find-mount-point.h	\
-  src/fs.h			\
-  src/fs-is-local.h		\
-  src/group-list.h		\
-  src/ioblksize.h		\
-  src/longlong.h		\
-  src/ls.h			\
-  src/operand2sig.h		\
-  src/prog-fprintf.h		\
-  src/remove.h			\
-  src/set-fields.h		\
-  src/system.h			\
-  src/uname.h
-
-EXTRA_DIST +=		\
-  src/dcgen		\
-  src/dircolors.hin	\
-  src/primes.h		\
-  src/tac-pipe.c	\
-  src/extract-magic
-
-CLEANFILES += $(SCRIPTS)
-
-# Also remove these sometimes-built programs.
-# For example, even when excluded, they're built via 'sc_check-AUTHORS'
-# or 'dist'.
-CLEANFILES += $(no_install__progs)
-
-noinst_LIBRARIES += src/libver.a
-nodist_src_libver_a_SOURCES = src/version.c src/version.h
-
-# Tell the linker to omit references to unused shared libraries.
-AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS)
-
-# Extra libraries needed by more than one program.  Will be updated later.
-copy_ldadd =
-remove_ldadd =
-
-# Sometimes, the expansion of $(LIBINTL) includes -lc which may
-# include modules defining variables like 'optind', so libcoreutils.a
-# must precede $(LIBINTL) in order to ensure we use GNU getopt.
-# But libcoreutils.a must also follow $(LIBINTL), since libintl uses
-# replacement functions defined in libcoreutils.a.
-LDADD = src/libver.a lib/libcoreutils.a $(LIBINTL) lib/libcoreutils.a
-
-# First, list all programs, to make listing per-program libraries easier.
-# See [ below.
-src_arch_LDADD = $(LDADD)
-src_base64_LDADD = $(LDADD)
-src_base32_LDADD = $(LDADD)
-src_basename_LDADD = $(LDADD)
-src_cat_LDADD = $(LDADD)
-src_chcon_LDADD = $(LDADD)
-src_chgrp_LDADD = $(LDADD)
-src_chmod_LDADD = $(LDADD)
-src_chown_LDADD = $(LDADD)
-src_chroot_LDADD = $(LDADD)
-src_cksum_LDADD = $(LDADD)
-src_comm_LDADD = $(LDADD)
-src_nproc_LDADD = $(LDADD)
-src_cp_LDADD = $(LDADD)
-if !SINGLE_BINARY
-src_coreutils_LDADD = $(LDADD)
-endif
-src_csplit_LDADD = $(LDADD)
-src_cut_LDADD = $(LDADD)
-src_date_LDADD = $(LDADD)
-src_dd_LDADD = $(LDADD)
-src_df_LDADD = $(LDADD)
-# See dir_LDADD below
-src_dircolors_LDADD = $(LDADD)
-src_dirname_LDADD = $(LDADD)
-src_du_LDADD = $(LDADD)
-src_echo_LDADD = $(LDADD)
-src_env_LDADD = $(LDADD)
-src_expand_LDADD = $(LDADD)
-src_expr_LDADD = $(LDADD)
-src_factor_LDADD = $(LDADD)
-src_false_LDADD = $(LDADD)
-src_fmt_LDADD = $(LDADD)
-src_fold_LDADD = $(LDADD)
-src_getlimits_LDADD = $(LDADD)
-src_ginstall_LDADD = $(LDADD)
-src_groups_LDADD = $(LDADD)
-src_head_LDADD = $(LDADD)
-src_hostid_LDADD = $(LDADD)
-src_hostname_LDADD = $(LDADD)
-src_id_LDADD = $(LDADD)
-src_join_LDADD = $(LDADD)
-src_kill_LDADD = $(LDADD)
-src_link_LDADD = $(LDADD)
-src_ln_LDADD = $(LDADD)
-src_logname_LDADD = $(LDADD)
-src_ls_LDADD = $(LDADD)
-
-# This must *not* depend on anything in lib/, since it is used to generate
-# src/primes.h.  If it depended on libcoreutils.a, that would pull all lib/*.c
-# into BUILT_SOURCES.
-src_make_prime_list_LDADD =
-
-src_md5sum_LDADD = $(LDADD)
-src_mkdir_LDADD = $(LDADD)
-src_mkfifo_LDADD = $(LDADD)
-src_mknod_LDADD = $(LDADD)
-src_mktemp_LDADD = $(LDADD)
-src_mv_LDADD = $(LDADD)
-src_nice_LDADD = $(LDADD)
-src_nl_LDADD = $(LDADD)
-src_nohup_LDADD = $(LDADD)
-src_numfmt_LDADD = $(LDADD)
-src_od_LDADD = $(LDADD)
-src_paste_LDADD = $(LDADD)
-src_pathchk_LDADD = $(LDADD)
-src_pinky_LDADD = $(LDADD)
-src_pr_LDADD = $(LDADD)
-src_printenv_LDADD = $(LDADD)
-src_printf_LDADD = $(LDADD)
-src_ptx_LDADD = $(LDADD)
-src_pwd_LDADD = $(LDADD)
-src_readlink_LDADD = $(LDADD)
-src_realpath_LDADD = $(LDADD)
-src_rm_LDADD = $(LDADD)
-src_rmdir_LDADD = $(LDADD)
-src_runcon_LDADD = $(LDADD)
-src_seq_LDADD = $(LDADD)
-src_sha1sum_LDADD = $(LDADD)
-src_sha224sum_LDADD = $(LDADD)
-src_sha256sum_LDADD = $(LDADD)
-src_sha384sum_LDADD = $(LDADD)
-src_sha512sum_LDADD = $(LDADD)
-src_shred_LDADD = $(LDADD)
-src_shuf_LDADD = $(LDADD)
-src_sleep_LDADD = $(LDADD)
-src_sort_LDADD = $(LDADD)
-src_split_LDADD = $(LDADD)
-src_stat_LDADD = $(LDADD)
-src_stdbuf_LDADD = $(LDADD)
-src_stty_LDADD = $(LDADD)
-src_sum_LDADD = $(LDADD)
-src_sync_LDADD = $(LDADD)
-src_tac_LDADD = $(LDADD)
-src_tail_LDADD = $(LDADD)
-src_tee_LDADD = $(LDADD)
-src_test_LDADD = $(LDADD)
-src_timeout_LDADD = $(LDADD)
-src_touch_LDADD = $(LDADD)
-src_tr_LDADD = $(LDADD)
-src_true_LDADD = $(LDADD)
-src_truncate_LDADD = $(LDADD)
-src_tsort_LDADD = $(LDADD)
-src_tty_LDADD = $(LDADD)
-src_uname_LDADD = $(LDADD)
-src_unexpand_LDADD = $(LDADD)
-src_uniq_LDADD = $(LDADD)
-src_unlink_LDADD = $(LDADD)
-src_uptime_LDADD = $(LDADD)
-src_users_LDADD = $(LDADD)
-# See vdir_LDADD below
-src_wc_LDADD = $(LDADD)
-src_who_LDADD = $(LDADD)
-src_whoami_LDADD = $(LDADD)
-src_yes_LDADD = $(LDADD)
-
-# Synonyms.  Recall that Automake transliterates '[' and '/' to '_'.
-src___LDADD = $(src_test_LDADD)
-src_dir_LDADD = $(src_ls_LDADD)
-src_vdir_LDADD = $(src_ls_LDADD)
-
-src_cp_LDADD += $(copy_ldadd)
-src_ginstall_LDADD += $(copy_ldadd)
-src_mv_LDADD += $(copy_ldadd)
-
-src_mv_LDADD += $(remove_ldadd)
-src_rm_LDADD += $(remove_ldadd)
-
-# for eaccess, euidaccess
-copy_ldadd += $(LIB_EACCESS)
-remove_ldadd += $(LIB_EACCESS)
-src_sort_LDADD += $(LIB_EACCESS)
-src_test_LDADD += $(LIB_EACCESS)
-
-# for selinux use
-copy_ldadd += $(LIB_SELINUX)
-src_chcon_LDADD += $(LIB_SELINUX)
-src_ginstall_LDADD += $(LIB_SELINUX)
-src_id_LDADD += $(LIB_SELINUX)
-src_id_LDADD += $(LIB_SMACK)
-src_ls_LDADD += $(LIB_SELINUX)
-src_ls_LDADD += $(LIB_SMACK)
-src_mkdir_LDADD += $(LIB_SELINUX)
-src_mkdir_LDADD += $(LIB_SMACK)
-src_mkfifo_LDADD += $(LIB_SELINUX)
-src_mkfifo_LDADD += $(LIB_SMACK)
-src_mknod_LDADD += $(LIB_SELINUX)
-src_mknod_LDADD += $(LIB_SMACK)
-src_runcon_LDADD += $(LIB_SELINUX)
-src_stat_LDADD += $(LIB_SELINUX)
-
-# for nvlist_lookup_uint64_array
-src_stat_LDADD += $(LIB_NVPAIR)
-
-# for gettime, settime, utimecmp, utimens
-copy_ldadd += $(LIB_CLOCK_GETTIME)
-src_date_LDADD += $(LIB_CLOCK_GETTIME)
-src_ginstall_LDADD += $(LIB_CLOCK_GETTIME)
-src_ls_LDADD += $(LIB_CLOCK_GETTIME)
-src_pr_LDADD += $(LIB_CLOCK_GETTIME)
-src_timeout_LDADD += $(LIB_TIMER_TIME)
-src_touch_LDADD += $(LIB_CLOCK_GETTIME)
-
-# for gethrxtime
-src_dd_LDADD += $(LIB_GETHRXTIME)
-
-# for cap_get_file
-src_ls_LDADD += $(LIB_CAP)
-
-# for fdatasync
-src_dd_LDADD += $(LIB_FDATASYNC)
-src_shred_LDADD += $(LIB_FDATASYNC)
-src_sync_LDADD += $(LIB_FDATASYNC)
-
-# for xnanosleep
-src_sleep_LDADD += $(LIB_NANOSLEEP)
-src_sort_LDADD += $(LIB_NANOSLEEP)
-src_tail_LDADD += $(LIB_NANOSLEEP)
-
-# for various GMP functions
-src_expr_LDADD += $(LIB_GMP)
-src_factor_LDADD += $(LIB_GMP)
-
-# for getloadavg
-src_uptime_LDADD += $(GETLOADAVG_LIBS)
-
-# for various ACL functions
-copy_ldadd += $(LIB_ACL)
-src_ls_LDADD += $(LIB_HAS_ACL)
-
-# for various xattr functions
-copy_ldadd += $(LIB_XATTR)
-
-# for print_unicode_char, proper_name_utf8
-src_factor_LDADD += $(LIBICONV)
-src_printf_LDADD += $(LIBICONV)
-src_ptx_LDADD += $(LIBICONV)
-
-# for libcrypto hash routines
-src_md5sum_LDADD += $(LIB_CRYPTO)
-src_sort_LDADD += $(LIB_CRYPTO)
-src_sha1sum_LDADD += $(LIB_CRYPTO)
-src_sha224sum_LDADD += $(LIB_CRYPTO)
-src_sha256sum_LDADD += $(LIB_CRYPTO)
-src_sha384sum_LDADD += $(LIB_CRYPTO)
-src_sha512sum_LDADD += $(LIB_CRYPTO)
-
-# for canon_host
-src_pinky_LDADD += $(GETADDRINFO_LIB)
-src_who_LDADD += $(GETADDRINFO_LIB)
-
-# for gethostname, uname
-src_hostname_LDADD += $(GETHOSTNAME_LIB)
-src_uname_LDADD += $(GETHOSTNAME_LIB)
-
-# for strsignal
-src_kill_LDADD += $(LIBTHREAD)
-
-# for pthread
-src_sort_LDADD += $(LIB_PTHREAD)
-
-# Get the release year from lib/version-etc.c.
-RELEASE_YEAR = \
-  `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
-    $(top_srcdir)/lib/version-etc.c`
-
-selinux_sources = \
-  src/selinux.c \
-  src/selinux.h
-
-copy_sources = \
-  src/copy.c \
-  src/cp-hash.c \
-  src/extent-scan.c \
-  src/extent-scan.h \
-  src/force-link.c \
-  src/force-link.h
-
-# Use 'ginstall' in the definition of PROGRAMS and in dependencies to avoid
-# confusion with the 'install' target.  The install rule transforms 'ginstall'
-# to install before applying any user-specified name transformations.
-
-# Don't apply prefix transformations to libstdbuf shared lib
-# as that's not generally needed, and we need to reference the
-# name directly in LD_PRELOAD etc.  In general it's surprising
-# that $(transform) is applied to libexec at all given that is
-# for internal package naming, not privy to $(transform).
-
-transform = s/ginstall/install/;/libstdbuf/!$(program_transform_name)
-
-src_ginstall_SOURCES = src/install.c src/prog-fprintf.c $(copy_sources) \
-		       $(selinux_sources)
-
-# This is for the '[' program.  Automake transliterates '[' and '/' to '_'.
-src___SOURCES = src/lbracket.c
-
-nodist_src_coreutils_SOURCES = src/coreutils.h
-src_coreutils_SOURCES = src/coreutils.c
-
-src_cp_SOURCES = src/cp.c $(copy_sources) $(selinux_sources)
-src_dir_SOURCES = src/ls.c src/ls-dir.c
-src_vdir_SOURCES = src/ls.c src/ls-vdir.c
-src_id_SOURCES = src/id.c src/group-list.c
-src_groups_SOURCES = src/groups.c src/group-list.c
-src_ls_SOURCES = src/ls.c src/ls-ls.c
-src_ln_SOURCES = src/ln.c \
-  src/force-link.c src/force-link.h \
-  src/relpath.c src/relpath.h
-src_chown_SOURCES = src/chown.c src/chown-core.c
-src_chgrp_SOURCES = src/chgrp.c src/chown-core.c
-src_kill_SOURCES = src/kill.c src/operand2sig.c
-src_realpath_SOURCES = src/realpath.c src/relpath.c src/relpath.h
-src_timeout_SOURCES = src/timeout.c src/operand2sig.c
-
-src_mv_SOURCES = src/mv.c src/remove.c $(copy_sources) $(selinux_sources)
-src_rm_SOURCES = src/rm.c src/remove.c
-
-src_mkdir_SOURCES = src/mkdir.c src/prog-fprintf.c $(selinux_sources)
-src_rmdir_SOURCES = src/rmdir.c src/prog-fprintf.c
-
-src_mkfifo_SOURCES = src/mkfifo.c $(selinux_sources)
-src_mknod_SOURCES = src/mknod.c $(selinux_sources)
-
-src_df_SOURCES = src/df.c src/find-mount-point.c
-src_stat_SOURCES = src/stat.c src/find-mount-point.c
-
-src_uname_SOURCES = src/uname.c src/uname-uname.c
-src_arch_SOURCES = src/uname.c src/uname-arch.c
-
-src_cut_SOURCES = src/cut.c src/set-fields.c
-src_numfmt_SOURCES = src/numfmt.c src/set-fields.c
-
-src_md5sum_CPPFLAGS = -DHASH_ALGO_MD5=1 $(AM_CPPFLAGS)
-src_sha1sum_SOURCES = src/md5sum.c
-src_sha1sum_CPPFLAGS = -DHASH_ALGO_SHA1=1 $(AM_CPPFLAGS)
-src_sha224sum_SOURCES = src/md5sum.c
-src_sha224sum_CPPFLAGS = -DHASH_ALGO_SHA224=1 $(AM_CPPFLAGS)
-src_sha256sum_SOURCES = src/md5sum.c
-src_sha256sum_CPPFLAGS = -DHASH_ALGO_SHA256=1 $(AM_CPPFLAGS)
-src_sha384sum_SOURCES = src/md5sum.c
-src_sha384sum_CPPFLAGS = -DHASH_ALGO_SHA384=1 $(AM_CPPFLAGS)
-src_sha512sum_SOURCES = src/md5sum.c
-src_sha512sum_CPPFLAGS = -DHASH_ALGO_SHA512=1 $(AM_CPPFLAGS)
-# Include the file on the command line to avoid modifying
-# the blake2 upstream source
-if USE_XLC_INCLUDE
-src_b2sum_CPPFLAGS = -qinclude=config.h
-else
-src_b2sum_CPPFLAGS = -include config.h
-endif
-src_b2sum_CPPFLAGS += -DHASH_ALGO_BLAKE2=1 $(AM_CPPFLAGS)
-src_b2sum_SOURCES = src/md5sum.c \
-		    src/blake2/blake2.h src/blake2/blake2-impl.h \
-		    src/blake2/blake2b-ref.c \
-		    src/blake2/b2sum.c src/blake2/b2sum.h
-
-src_base64_CPPFLAGS = -DBASE_TYPE=64 $(AM_CPPFLAGS)
-src_base32_SOURCES = src/base64.c
-src_base32_CPPFLAGS = -DBASE_TYPE=32 $(AM_CPPFLAGS)
-
-src_ginstall_CPPFLAGS = -DENABLE_MATCHPATHCON=1 $(AM_CPPFLAGS)
-
-src_expand_SOURCES = src/expand.c src/expand-common.c
-src_unexpand_SOURCES = src/unexpand.c src/expand-common.c
-
-# Ensure we don't link against libcoreutils.a as that lib is
-# not compiled with -fPIC which causes issues on 64 bit at least
-src_libstdbuf_so_LDADD = $(LIBINTL)
-
-# Note libstdbuf is only compiled if GCC is available
-# (as per the check in configure.ac), so these flags should be available.
-# libtool is probably required to relax this dependency.
-src_libstdbuf_so_LDFLAGS = -shared
-src_libstdbuf_so_CFLAGS = -fPIC $(AM_CFLAGS)
-
-BUILT_SOURCES += src/coreutils.h
-if SINGLE_BINARY
-# Single binary dependencies
-src_coreutils_CFLAGS = -DSINGLE_BINARY $(AM_CFLAGS)
-#src_coreutils_LDFLAGS = $(AM_LDFLAGS)
-src_coreutils_LDADD = $(single_binary_deps) $(LDADD) $(single_binary_libs)
-src_coreutils_DEPENDENCIES = $(LDADD) $(single_binary_deps)
-
-include $(top_srcdir)/src/single-binary.mk
-
-# Creates symlinks or shebangs to the installed programs when building
-# coreutils single binary.
-EXTRA_src_coreutils_DEPENDENCIES = src/coreutils_$(single_binary_install_type)
-endif SINGLE_BINARY
-
-CLEANFILES += src/coreutils_symlinks
-src/coreutils_symlinks: Makefile
-	$(AM_V_GEN)touch $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)for i in x $(single_binary_progs); do \
-		test $$i = x && continue; \
-		rm -f src/$$i$(EXEEXT) || exit $$?; \
-		$(LN_S) -s coreutils$(EXEEXT) src/$$i$(EXEEXT) || exit $$?; \
-	done
-
-CLEANFILES += src/coreutils_shebangs
-src/coreutils_shebangs: Makefile
-	$(AM_V_GEN)touch $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)for i in x $(single_binary_progs); do \
-		test $$i = x && continue; \
-		rm -f src/$$i$(EXEEXT) || exit $$?; \
-		printf '#!%s --coreutils-prog-shebang=%s\n' \
-			$(abs_top_builddir)/src/coreutils$(EXEEXT) $$i \
-			>src/$$i$(EXEEXT) || exit $$?; \
-		chmod a+x,a-w src/$$i$(EXEEXT) || exit $$?; \
-	done
-
-clean-local:
-	$(AM_V_at)for i in x $(single_binary_progs); do \
-		test $$i = x && continue; \
-		rm -f src/$$i$(EXEEXT) || exit $$?; \
-	done
-
-
-BUILT_SOURCES += src/dircolors.h
-src/dircolors.h: src/dcgen src/dircolors.hin
-	$(AM_V_GEN)rm -f $@ $@-t
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)$(PERL) -w -- $(srcdir)/src/dcgen \
-				$(srcdir)/src/dircolors.hin > $@-t
-	$(AM_V_at)chmod a-w $@-t
-	$(AM_V_at)mv $@-t $@
-
-# This file is built by maintainers.  It's architecture-independent,
-# and it needs to be built on a widest-known-int architecture, so it's
-# built only if absent.  It is not cleaned because we don't want to
-# insist that maintainers must build on hosts that support the widest
-# known ints (currently 128-bit).
-BUILT_SOURCES += $(top_srcdir)/src/primes.h
-$(top_srcdir)/src/primes.h:
-	$(AM_V_at)${MKDIR_P} src
-	$(MAKE) src/make-prime-list$(EXEEXT)
-	$(AM_V_GEN)rm -f $@ $@-t
-	$(AM_V_at)src/make-prime-list$(EXEEXT) 5000 > $@-t
-	$(AM_V_at)chmod a-w $@-t
-	$(AM_V_at)mv $@-t $@
-
-# false exits nonzero even with --help or --version.
-# test doesn't support --help or --version.
-# Tell automake to exempt then from that installcheck test.
-AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = src/false src/test
-
-# Compare fs.h with the list of file system names/magic-numbers in the
-# Linux statfs man page.  This target prints any new name/number pairs.
-# Also compare against /usr/include/linux/magic.h
-.PHONY: src/fs-magic-compare
-src/fs-magic-compare: src/fs-magic src/fs-kernel-magic src/fs-def
-	@join -v1 -t@ src/fs-magic src/fs-def
-	@join -v1 -t@ src/fs-kernel-magic src/fs-def
-
-CLEANFILES += src/fs-def
-src/fs-def: src/fs.h
-	grep '^# *define ' src/fs.h | $(ASSORT) > $@-t && mv $@-t $@
-
-# Massage bits of the statfs man page and definitions from
-# /usr/include/linux/magic.h to be in a form consistent with what's in fs.h.
-fs_normalize_perl_subst =			\
-  -e 's/MINIX_SUPER_MAGIC\b/MINIX/;'		\
-  -e 's/MINIX_SUPER_MAGIC2\b/MINIX_30/;'	\
-  -e 's/MINIX2_SUPER_MAGIC\b/MINIX_V2/;'	\
-  -e 's/MINIX2_SUPER_MAGIC2\b/MINIX_V2_30/;'	\
-  -e 's/MINIX3_SUPER_MAGIC\b/MINIX_V3/;'	\
-  -e 's/CIFS_MAGIC_NUMBER/CIFS/;'		\
-  -e 's/(_SUPER)?_MAGIC//;'			\
-  -e 's/\s+0x(\S+)/" 0x" . uc $$1/e;'		\
-  -e 's/(\s+0x)(\X{3})\b/$${1}0$$2/;'		\
-  -e 's/(\s+0x)(\X{6})\b/$${1}00$$2/;'		\
-  -e 's/(\s+0x)(\X{7})\b/$${1}0$$2/;'		\
-  -e 's/^\s+//;'				\
-  -e 's/^\043define\s+//;'			\
-  -e 's/^_(XIAFS)/$$1/;'			\
-  -e 's/^USBDEVICE/USBDEVFS/;'			\
-  -e 's/NTFS_SB/NTFS/;'				\
-  -e 's/^/\043 define S_MAGIC_/;'		\
-  -e 's,\s*/\* .*? \*/,,;'
-
-CLEANFILES += src/fs-magic
-src/fs-magic: Makefile
-	@MANPAGER= man statfs \
-	  |perl -ne '/File system types:/.../Nobody kno/ and print'	\
-	  |grep 0x | perl -p						\
-	    $(fs_normalize_perl_subst)					\
-	  | grep -Ev 'S_MAGIC_EXT[34]|STACK_END'			\
-	  | $(ASSORT)							\
-	  > $@-t && mv $@-t $@
-
-DISTCLEANFILES += src/fs-latest-magic.h
-# This rule currently gets the latest header, but probably isn't general
-# enough to enable by default.
-#	@kgit='https://git.kernel.org/cgit/linux/kernel/git'; \
-#	wget -q $$kgit/torvalds/linux.git/plain/include/uapi/linux/magic.h \
-#	  -O $@
-src/fs-latest-magic.h:
-	@touch $@
-
-CLEANFILES += src/fs-kernel-magic
-src/fs-kernel-magic: Makefile src/fs-latest-magic.h
-	@perl -ne '/^#define.*0x/ and print'				\
-	  /usr/include/linux/magic.h src/fs-latest-magic.h		\
-	  | perl -p							\
-	    $(fs_normalize_perl_subst)					\
-	  | grep -Ev 'S_MAGIC_EXT[34]|STACK_END'			\
-	  | $(ASSORT) -u						\
-	  > $@-t && mv $@-t $@
-
-BUILT_SOURCES += src/fs-is-local.h
-src/fs-is-local.h: src/stat.c src/extract-magic
-	$(AM_V_GEN)rm -f $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \
-			  --local $(srcdir)/src/stat.c > $@t
-	$(AM_V_at)chmod a-w $@t
-	$(AM_V_at)mv $@t $@
-
-BUILT_SOURCES += src/fs.h
-src/fs.h: src/stat.c src/extract-magic
-	$(AM_V_GEN)rm -f $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \
-			  $(srcdir)/src/stat.c > $@t
-	$(AM_V_at)chmod a-w $@t
-	$(AM_V_at)mv $@t $@
-
-BUILT_SOURCES += src/version.c
-src/version.c: Makefile
-	$(AM_V_GEN)rm -f $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)printf '#include <config.h>\n' > $@t
-	$(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t
-	$(AM_V_at)chmod a-w $@t
-	$(AM_V_at)mv $@t $@
-
-BUILT_SOURCES += src/version.h
-src/version.h: Makefile
-	$(AM_V_GEN)rm -f $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)printf 'extern char const *Version;\n' > $@t
-	$(AM_V_at)chmod a-w $@t
-	$(AM_V_at)mv $@t $@
-
-# Generates a list of macro invocations like:
-#   SINGLE_BINARY_PROGRAM(program_name_str, main_name)
-# once for each program list on $(single_binary_progs). Note that
-# for [ the macro invocation is:
-#   SINGLE_BINARY_PROGRAM("[", _)
-DISTCLEANFILES += src/coreutils.h
-src/coreutils.h: Makefile
-	$(AM_V_GEN)rm -f $@
-	$(AM_V_at)${MKDIR_P} src
-	$(AM_V_at)for prog in x $(single_binary_progs); do	\
-	  test $$prog = x && continue;				\
-	  prog=`basename $$prog`;				\
-	  main=`echo $$prog | tr '[' '_'`;			\
-	  echo "SINGLE_BINARY_PROGRAM(\"$$prog\", $$main)";	\
-	done | sort > $@t
-	$(AM_V_at)chmod a-w $@t
-	$(AM_V_at)mv $@t $@
-
-DISTCLEANFILES += src/version.c src/version.h
-MAINTAINERCLEANFILES += $(BUILT_SOURCES)
-
-all_programs = \
-    $(bin_PROGRAMS) \
-    $(bin_SCRIPTS) \
-    $(EXTRA_PROGRAMS)
-
-pm = progs-makefile
-pr = progs-readme
-# Ensure that the list of programs in README matches the list
-# of programs we can build.
-check-local: check-README check-duplicate-no-install
-.PHONY: check-README
-check-README:
-	$(AM_V_GEN)rm -rf $(pr) $(pm)
-	$(AM_V_at)echo $(all_programs) \
-	 | tr -s ' ' '\n' \
-	 | sed -e 's,$(EXEEXT)$$,,' \
-	       -e 's,^src/,,' \
-	       -e 's/^ginstall$$/install/' \
-	 | sed /libstdbuf/d \
-	 | $(ASSORT) -u > $(pm) && \
-	sed -n '/^The programs .* are:/,/^[a-zA-Z]/p' $(top_srcdir)/README \
-	  | sed -n '/^   */s///p' | tr -s ' ' '\n' > $(pr)
-	$(AM_V_at)diff $(pm) $(pr) && rm -rf $(pr) $(pm)
-
-# Ensure that a by-default-not-installed program (listed in
-# $(no_install__progs) is not also listed as another $(EXTRA_PROGRAMS)
-# entry, because if that were to happen, it *would* be installed
-# by default.
-.PHONY: check-duplicate-no-install
-check-duplicate-no-install:
-	$(AM_V_GEN)test -z "`echo '$(EXTRA_PROGRAMS)' | tr ' ' '\n' | uniq -d`"
-
-# Use the just-built 'ginstall', when not cross-compiling.
-if CROSS_COMPILING
-cu_install_program = @INSTALL@
-else
-cu_install_program = src/ginstall
-endif
-INSTALL = $(cu_install_program) -c
+#!/usr/local//bin/coreutils --coreutils-prog-shebang=local.mk
