all: config.h su su.dfl
su: su.o
$(LD) $(LDFLAGS) su.o $(LCRYPT) $(LCOMMON) $(LIBS) -o su
su.o: su.c config.h
$(CC) $(CFLAGS) $(CPPFLAGS) $(GNUFL) -DSUDFL='"$(DFLDIR)/su"' -c su.c
su_pam: su_pam.o
$(LD) $(LDFLAGS) su_pam.o -lpam $(LCOMMON) $(LIBS) -o su_pam
su_pam.o: su.c config.h
$(CC) $(CFLAGS) $(CPPFLAGS) -DPAM $(GNUFL) -DSUDFL='"$(DFLDIR)/su"' -c su.c -o su_pam.o
su.dfl: su.dfl.in
<su.dfl.in >su.dfl sed 's,@SULOG@,$(SULOG),g'
install: all
# $(UCBINST) -c -m 4755 su $(ROOT)$(DEFBIN)/su
$(UCBINST) -c -m 4755 su $(ROOT)$(DEFBIN)/su
$(STRIP) $(ROOT)$(DEFBIN)/su
test -r $(ROOT)$(DFLDIR)/su || $(UCBINST) -c -m 644 su.dfl $(ROOT)$(DFLDIR)/su
$(MANINST) -c -m 644 su.1 $(ROOT)$(MANDIR)/man1/su.1
test -d `dirname $(ROOT)$(SULOG)` || mkdir -p `dirname $(ROOT)$(SULOG)`
-test -r $(ROOT)$(SULOG) || { \
touch $(ROOT)$(SULOG); \
chmod 600 $(ROOT)$(SULOG); \
}
clean:
rm -f config.h su su.o su_pam su_pam.o su.dfl core log *~
config.h:
-echo '/* Auto-generated by make. Do no edit! */' >config.h
-echo '#include <shadow.h>' >___build$$$$.c ; \
echo 'int main(void) { getspent(); return 0; }' >>___build$$$$.c ; \
$(CC) $(CFLAGS) $(CPPFLAGS) $(LARGEF) $(IWCHAR) -o ___build$$$$ ___build$$$$.c >/dev/null 2>&1 ; \
if test $$? = 0 && test -f ___build$$$$ ; \
then echo '#define SHADOW_PWD' >>config.h ; \
fi ; \
rm -f ___build$$$$ ___build$$$$.c
syntax highlighted by Code2HTML, v. 0.9.1