OmegaPhil:
> > Cheers - as you're changing that bit now, would also make sense to not
> > compile during the install target as well (can't think of any other
> > targets a normal user would use).
>
>
> Ah sorry, this is precisely when you want it... sorry I'm used to
> autotools systems and this kind of thing being ./configured before
> everything.

I agree that ./configure is the best solution for such case. Why didn't
I do that? It's just because I'm lazy. :-)

About filtering-out 'make install', I won't do that since people may run
'make install' without running 'make all' (I've just add 'all' to the
dependency of 'install').

And here is the updated commit.


J. R. Okajima


commit 3557ce3589462600d8f6888160f735673ff8a8af
Author: J. R. Okajima <hooanon...@gmail.com>
Date:   Thu Oct 6 01:50:14 2016 +0900

    bugfix, stop evaluating test_glibc when 'make clean'
    
    Reported-by: OmegaPhil <omegap...@startmail.com>
    See-also: 
http://www.mail-archive.com/aufs-users@lists.sourceforge.net/msg05400.html
    Signed-off-by: J. R. Okajima <hooanon...@gmail.com>

diff --git a/Makefile b/Makefile
index fa96b6c..f90540e 100644
--- a/Makefile
+++ b/Makefile
@@ -54,23 +54,30 @@ LibUtilObj += perror.o proc_mnt.o br.o plink.o mtab.o
 LibUtilHdr = au_util.h
 
 TopDir = ${CURDIR}
+LastTestGlibc = test_glibc
 # don't use -q for fgrep here since it exits when the string is found,
 # and it causes the broken pipe error.
 define test_glibc
-       $(shell ${1} ${CPPFLAGS} -I ${TopDir}/extlib/non-glibc -E -P -dM ${2} |\
+       $(shell cat ${LastTestGlibc} 2> /dev/null || \
+               { ${1} ${CPPFLAGS} -I ${TopDir}/extlib/non-glibc -E -P -dM ${2} 
|\
                fgrep -w __GNU_LIBRARY__ > /dev/null && \
                echo yes || \
-               echo no)
+               echo no; } |\
+               tee ${LastTestGlibc})
 endef
-$(eval Glibc=$(call test_glibc, ${CC}, ver.c))
+$(filter-out clean, ${MAKECMDGOALS}): \
+       $(eval Glibc=$(call test_glibc, ${CC}, ver.c))
 #$(warning Glibc=${Glibc})
 
 LibAuDir ?= /usr/lib
+ExtlibGlibcObj = au_nftw.o
+ExtlibNonGlibcObj = ${ExtlibGlibcObj} au_decode_mntpnt.o error_at_line.o
+
 ExtlibPath = extlib/glibc
-ExtlibObj = au_nftw.o
+ExtlibObj = ${ExtlibGlibcObj}
 ifeq (${Glibc},no)
 ExtlibPath = extlib/non-glibc
-ExtlibObj += au_decode_mntpnt.o error_at_line.o
+ExtlibObj = ${ExtlibNonGlibcObj}
 LibUtilHdr += ${ExtlibPath}/error_at_line.h
 override CPPFLAGS += -I${CURDIR}/${ExtlibPath}
 endif
@@ -99,9 +106,9 @@ all: ver_test ${Man} ${Bin} ${Etc}
        $(call MakeFHSM, $@)
 
 clean:
-       ${RM} ${Man} ${Bin} ${Etc} ${LibUtil} libau.so* *~
+       ${RM} ${Man} ${Bin} ${Etc} ${LibUtil} libau.so* ${LastTestGlibc} *~
        ${RM} ${BinObj} ${LibUtilObj}
-       for i in ${ExtlibSrc}; \
+       for i in $(patsubst %.o,%.c, ${ExtlibGlibcObj} ${ExtlibNonGlibcObj}); \
        do test -L $${i} && ${RM} $${i} || :; \
        done
        ${MAKE} -C libau $@

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot

Reply via email to