# -*-makefile-*- (gpm/main) # # Copyright 1994,1997 rubini@linux.it # Copyright 1997 dickey@clark.net # Copyright (C) 1998 Ian Zimmerman # Copyright (C) 2001-2008 Nico Schottelius # SHELL = /bin/sh srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = . include Makefile.include # allow CFLAGS to be overriden from make command line # ideally one would never have to write this rule again, but the GNU # makefile standards are at cross-purposes: CFLAGS is reserved for # user-overridable flags, but it's also all the implicit rule looks at. # missing ? SUBDIRS = src doc contrib gpm2 ### simple, but effective rules all: do-all check: all uninstall: do-uninstall clean: do-clean Makefile: $(srcdir)/Makefile.in config.status ./config.status config.status: $(srcdir)/configure if [ -f config.status ]; then $(SHELL) config.status --recheck; \ else ./configure; fi ### INSTALL install: check installdirs do-install install-strip: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' install install-exec: installdirs $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' -C src install installdirs: @MKDIR_P@ $(libdir) $(bindir) $(sbindir) $(includedir) $(sysconfdir); \ if test "x@ELISP@" != "x" ; then \ @MKDIR_P@ $(lispdir) ; \ fi ### GENERIC # do-all goes to all subdirectories and does all do-%: @target=`echo $@ | $(SED) -e 's/^do-//'`; \ for i in $(SUBDIRS) ; do \ if test -f ./$$i/Makefile ; then \ $(MAKE) -C ./$$i $${target} || exit 1 ;\ fi; \ done # Configure & unconfigure # Maintainer portion, use at your own risk barf: @echo 'This command is intended for maintainers to use; it' @echo 'deletes files that may need special tools to rebuild.' @echo 'If you want to continue, please press return.' @echo -n "Hit Ctrl+C to abort." @read somevar # who / what does need tags TAGS: $(SRCS) $(HDRS) src/prog/gpm-root.y do-TAGS cd $(srcdir) && $(ETAGS) -o TAGS $(SRCS) $(HDRS) src/prog/gpm-root.y ### RELEASE STUFF TARS :=../gpm-$(release).tar.gz TARS +=../gpm-$(release).tar.bz2 ../gpm-$(release).tar.lzma CHKSUMS := $(TARS:=.sha512sum) D_HOST=home.schottelius.org D_BASE=www/org/schottelius/unix/www/gpm D_DIR=$(D_BASE)/archives/ D_SOURCE=$(D_BASE)/browse_source/ # configure headers, produce new configure script distconf: configure.ac aclocal.m4 autoheader && autoconf ../gpm-$(release).tar: $(srcdir) # no exclude possible of .git with pax it seems #pax -w -x ustar -s '/^\./gpm-$(release)/' -w . -f $@ pax -w -x ustar -s ';^;gpm-$(release)/;' -f $@ -w .gitignore .gitversion .releasedate * ../gpm-$(release).tar.gz: ../gpm-$(release).tar gzip -9 -c $^ > $@ ../gpm-$(release).tar.bz2: ../gpm-$(release).tar bzip2 -9 -c $^ > $@ ../gpm-$(release).tar.lzma: ../gpm-$(release).tar lzma -9 -c $^ > $@ $(CHKSUMS): $(TARS) for file in $^; do sha512sum $$file > $${file}.sha512sum; done # 3. Put package together into .tar.gz and .tar.bz2 dist: disttest distclean distconf $(CHKSUMS) distcopy: dist chmod 0644 $(TARS) $(CHKSUMS) scp $(TARS) $(CHKSUMS) $(D_HOST):$(D_DIR) ssh "$(D_HOST)" "tar xvfz $(D_DIR)/gpm-$(release).tar.gz -C $(D_SOURCE)" ssh "$(D_HOST)" "find \"$(D_SOURCE)/\" -type f -exec chmod 0644 {} \\;" ssh "$(D_HOST)" "find \"$(D_SOURCE)/\" -type d -exec chmod 0755 {} \\;" # create / update configure, delete other parts from earlier build disttest: distconf clean ./configure make all ### CLEANUP distclean: clean do-clean do-distclean rm -f config.log config.status config.cache Makefile Makefile.include rm -rf autom4te.cache allclean: do-allclean distclean rm -f configure