# $FreeWRT$ #- # This file is part of the FreeWRT project. FreeWRT is copyrighted # material, please see the LICENCE file in the top-level directory # or at http://www.freewrt.org/licence for details. include $(TOPDIR)/rules.mk WRKBUILD= $(TOOLS_BUILD_DIR)/paxmirabilis OUR_FLAGS= -I${TOPDIR}/scripts \ -include ${TOPDIR}/scripts/param.h ifeq ($(OStype),Linux) OUR_FLAGS+= -DLONG_OFF_T \ -D_STRLCPY_DEFNS SRCS+= strlfun.c \ strmode.c \ fgetln.c endif SRCS+= \ src/ar.c \ src/ar_io.c \ src/ar_subs.c \ src/buf_subs.c \ src/cache.c \ src/cpio.c \ src/file_subs.c \ src/ftree.c \ src/gen_subs.c \ src/getoldopt.c \ src/options.c \ src/pat_rep.c \ src/pax.c \ src/sel_subs.c \ src/tables.c \ src/tar.c \ src/tty_subs.c prepare: ${WRKBUILD} compile: prepare ${WRKBUILD}/pax install: compile mkdir -p $(STAGING_DIR)/bin -rm -f $(STAGING_DIR)/bin/{pax,cpio,tar} \ ${TOPDIR}/lbin/{,mir}{pax,cpio,tar} install -c -s -m 555 ${WRKBUILD}/pax $(STAGING_DIR)/bin/pax cd ${STAGING_DIR}/bin && ln pax cpio && ln pax tar cp $(STAGING_DIR)/bin/pax ${TOPDIR}/lbin/pax cd ${TOPDIR}/lbin && ln pax cpio && ln pax tar cd ${TOPDIR}/lbin && ln pax mircpio && ln pax mirpax && ln pax mirtar install-lbin: rm -f ${TOPDIR}/lbin/{,mir}{pax,cpio,tar} if [ -e $(STAGING_DIR)/bin/pax ]; then \ cp $(STAGING_DIR)/bin/pax ${TOPDIR}/lbin/pax; \ cd ${TOPDIR}/lbin && ln pax cpio && ln pax tar && \ ln pax mircpio && ln pax mirpax && ln pax mirtar; \ else \ rm -f $(TOOLS_STAMP_DIR)/.tools_paxmirabilis-install; \ fi package: clean: rm -rf ${WRKBUILD} rm -f $(STAGING_DIR)/bin/{pax,cpio,tar} \ ${TOPDIR}/lbin/{,mir}{pax,cpio,tar} ${WRKBUILD}: mkdir -p ${WRKBUILD} ${WRKBUILD}/pax: ${SRCS} rm -f $@ +for opts in '-flto=jobserver' '-fwhole-program --combine' ''; do \ set -x; \ ${HOSTCC} ${HOSTCFLAGS} $$opts -Isrc ${OUR_FLAGS} -o $@ $^; \ test -x $@ && exit 0; \ done; echo >&2 Compiling failed.; exit 1