summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile65
1 files changed, 64 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 7a5923e7..c17dc208 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,68 @@
##
## $Id$
##
-##
+
+## Note, ideally I would prefer it if this top level makefile did
+## not get created by autoconf. As I find typing 'make' and relying
+## on it to take care of all dependencies much more friendly than
+## the multi-stage autoconf+make and also worry about updates to
+## configure.in not getting propagated down the tree. (AGM) [I realise
+## that this may not prove possible, but at least I tried.. Sigh.]
+
+ifeq ($(shell test \! -f Make.Rules || echo yes),yes)
+ include Make.Rules
+endif
+
+THINGSTOMAKE = modules libpam libpamc libpam_misc doc examples
+
+all: $(THINGSTOMAKE)
+
+prep:
+ rm -f security
+ ln -sf . security
+
+clean:
+ if [ ! -f Make.Rules ]; then touch Make.Rules ; fi
+ for i in $(THINGSTOMAKE) ; do $(MAKE) -C $$i clean ; done
+ rm -f security *~ *.orig *.rej #*#
+
+distclean: clean
+ rm -f Make.Rules _pam_aconf.h
+ rm -f config.status config.cache config.log core
+
+maintainer-clean: distclean
+ @echo files should be ok for packaging now.
+
+# NB _pam_aconf.h.in changes will remake this too
+Make.Rules: configure Make.Rules.in _pam_aconf.h.in
+ @echo XXX - not sure how to preserve past configure options..
+ @echo XXX - so not attempting to. Feel free to run ./configure
+ @echo XXX - by hand, with the options you want.
+ ./configure
+
+configure: configure.in
+ @$(MAKE) distclean
+ @echo
+ @echo You do not appear to have a ./configure file.
+ @echo Please run autoconf, and then ./configure [..options..]
+ @echo
+ @exit 1
+
+$(THINGSTOMAKE): _pam_aconf.h prep
+ $(MAKE) -C $@ all
+
+install: _pam_aconf.h prep
+ $(MKDIR) $(FAKEROOT)$(INCLUDED)
+ $(INSTALL) -m 444 security/_pam_aconf.h $(FAKEROOT)$(INCLUDED)
+ for x in $(THINGSTOMAKE) ; do make -C $$x install ; done
+
+remove:
+ rm -f $(FAKEROOT)$(INCLUDED)/_pam_aconf.h
+ for x in $(THINGSTOMAKE) ; do make -C $$x remove ; done
+
+## =================
+
+ifdef LEGACY_OLD_MAKEFILE
# major and minor numbers of this release
MAJOR_REL=0
@@ -281,3 +342,5 @@ release:
chmod 400 .filelist
$(MAKE) check
(cat .filelist ; echo $(RELNAME)/conf/.md5sum) | (cd .. ; tar -cz -f$(DISTFILE) -T-)
+
+endif # LEGACY_OLD_MAKEFILE