# -*-makefile-*- (gpm/main)
#
# Copyright 1994,1997 rubini@linux.it
# Copyright 1997 dickey@clark.net
# Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
# Copyright (C) 2001-2012 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
### simple, but effective rules
all: do-all
src/$(DEPFILE):
touch $@ # to prevent unecessary warnings
dep: src/$(DEPFILE)
$(MAKE) -C src dep
check: all
uninstall: do-uninstall
clean: do-clean
rm -f config.status.lineno
#aclocal.m4: acinclude.m4
# $(MKDIR) config
# aclocal -I config
#configure: configure.ac aclocal.m4 $(versionfiles)
# libtoolize --force --copy `libtoolize -n --install >/dev/null 2>&1 && echo --install`
# autoheader
# autoconf
#config.status: configure
# if [ -f config.status ]; then $(SHELL) ./config.status --recheck; \
# else $(SHELL) ./configure; fi
Makefile: config.status $(srcdir)/Makefile.in Makefile.include
./config.status
Makefile.include: config.status $(srcdir)/Makefile.include.in
./config.status
### INSTALL
install: check installdirs do-install
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' install
installdirs:
$(MKDIR) $(libdir) $(bindir) $(sbindir) $(includedir) $(sysconfdir); \
if test "x$(ELISP)" != "x" ; then \
$(MKDIR) $(lispdir) ; \
fi
### GENERIC
# do-all goes to all subdirectories and does all
do-%: dep
@target=`echo $@ | $(SED) -e 's/^do-//'`; \
for i in $(SUBDIRS) ; do \
if test -f ./$$i/Makefile ; then \
$(MAKE) -C ./$$i $${target} || exit 1 ;\
else \
true; \
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
M_HOST=arcana.linux.it
M_DIR=gpm/
tars: $(TARS)
# configure headers, produce new configure script
distconf: Makefile.in Makefile.include.in configure acinclude.m4 $(versionfiles)
../gpm-$(release).tar: $(srcdir) distclean distconf
# no exclude possible of .git with pax it seems, so the following is not possible:
git archive --prefix "gpm-$(release)/" -o $@ HEAD
../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 $< > $@
# 3. Put package together into .tar.gz and .tar.bz2
dist: disttest distclean distconf $(TARS)
scp $(TARS) $(M_HOST):$(M_DIR)
mv $(TARS) ~/niconetz/software/gpm/archives
### TEST: on nicos machine: not to be used anywhere else currently
# 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
rm -f src/$(DEPFILE)
allclean: do-allclean distclean
rm -f configure aclocal.m4