michael@428: # Makefile for GNU patch. michael@428: michael@428: # Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2009 michael@428: # Free Software Foundation, Inc. michael@428: michael@428: # This program is free software; you can redistribute it and/or modify michael@428: # it under the terms of the GNU General Public License as published by michael@428: # the Free Software Foundation; either version 2, or (at your option) michael@428: # any later version. michael@428: michael@428: # This program is distributed in the hope that it will be useful, michael@428: # but WITHOUT ANY WARRANTY; without even the implied warranty of michael@428: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the michael@428: # GNU General Public License for more details. michael@428: michael@428: # You should have received a copy of the GNU General Public License michael@428: # along with this program; see the file COPYING. michael@428: # If not, write to the Free Software Foundation, michael@428: # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. michael@428: michael@428: #### Start of system configuration section. #### michael@428: michael@428: srcdir = @srcdir@ michael@428: VPATH = @srcdir@ michael@428: michael@428: @SET_MAKE@ michael@428: michael@428: CC = @CC@ michael@428: ed_PROGRAM = @ed_PROGRAM@ michael@428: INSTALL = @INSTALL@ michael@428: INSTALL_PROGRAM = @INSTALL_PROGRAM@ michael@428: INSTALL_DATA = @INSTALL_DATA@ michael@428: TEST_SHELL = @TEST_SHELL@ michael@428: transform = @program_transform_name@ michael@428: michael@428: CFLAGS = @CFLAGS@ michael@428: CPPFLAGS = @CPPFLAGS@ michael@428: DEFS = @DEFS@ michael@428: EXEEXT = @EXEEXT@ michael@428: LDFLAGS = @LDFLAGS@ michael@428: LIBOBJDIR = gl/lib/ michael@428: LIBOBJS = @LIBOBJS@ ${LIBOBJDIR}full-write$U.o michael@428: LIBS = @LIBS@ michael@428: OBJEXT = @OBJEXT@ michael@428: PACKAGE_NAME = @PACKAGE_NAME@ michael@428: PACKAGE_VERSION = @PACKAGE_VERSION@ michael@428: STDBOOL_H = @STDBOOL_H@ michael@428: GETOPT_H = @GETOPT_H@ michael@428: HAVE__BOOL = @HAVE__BOOL@ michael@428: ENABLE_MERGE = @ENABLE_MERGE@ michael@428: michael@428: prefix = @prefix@ michael@428: exec_prefix = @exec_prefix@ michael@428: bindir = @bindir@ michael@428: michael@428: # Where to put the manual pages. michael@428: datarootdir = @datarootdir@ michael@428: mandir = @mandir@ michael@428: man1dir = $(mandir)/man1 michael@428: # Extension (including `.') for the manual page filenames. michael@428: man1ext = .1 michael@428: michael@428: # Hook for nonstandard builds. michael@428: CONFIG_STATUS = config.status michael@428: michael@428: #### End of system configuration section. #### michael@428: michael@428: SHELL = /bin/sh michael@428: michael@428: LIBSRCS = \ michael@428: gl/lib/argmatch.c \ michael@428: gl/lib/backupfile.c \ michael@428: gl/lib/basename.c \ michael@428: gl/lib/dirname.c \ michael@428: gl/lib/error.c \ michael@428: gl/lib/exitfail.c \ michael@428: gl/lib/full-write.c \ michael@428: gl/lib/getopt1.c \ michael@428: gl/lib/getopt.c \ michael@428: gl/lib/hash.c \ michael@428: gl/lib/malloc.c \ michael@428: gl/lib/mbrtowc.c \ michael@428: gl/lib/memchr.c \ michael@428: gl/lib/quotearg.c \ michael@428: gl/lib/quote.c \ michael@428: gl/lib/realloc.c \ michael@428: gl/lib/rename.c \ michael@428: gl/lib/safe-read.c \ michael@428: gl/lib/safe-write.c \ michael@428: gl/lib/strcasecmp.c \ michael@428: gl/lib/stripslash.c \ michael@428: gl/lib/strncasecmp.c \ michael@428: gl/lib/strndup.c \ michael@428: gl/lib/xmalloc.c \ michael@428: gl/lib/xstrndup.c michael@428: michael@428: SRCS = $(LIBSRCS) \ michael@428: src/inp.c \ michael@428: src/maketime.c \ michael@428: src/merge.c \ michael@428: src/partime.c \ michael@428: src/patch.c \ michael@428: src/pch.c \ michael@428: src/quotesys.c \ michael@428: src/util.c \ michael@428: src/version.c michael@428: michael@428: MERGEOBJ = src/merge.$(OBJEXT) michael@428: michael@428: OBJS = $(LIBOBJS) $(MERGEOBJ) \ michael@428: src/inp.$(OBJEXT) \ michael@428: src/maketime.$(OBJEXT) \ michael@428: src/partime.$(OBJEXT) \ michael@428: src/patch.$(OBJEXT) \ michael@428: src/pch.$(OBJEXT) \ michael@428: src/quotesys.$(OBJEXT) \ michael@428: src/util.$(OBJEXT) \ michael@428: src/version.$(OBJEXT) michael@428: michael@428: LIBHDRS = \ michael@428: gl/lib/argmatch.h \ michael@428: gl/lib/backupfile.h \ michael@428: gl/lib/dirname.h \ michael@428: gl/lib/error.h \ michael@428: gl/lib/exitfail.h \ michael@428: gl/lib/full-write.h \ michael@428: gl/lib/getopt.hin \ michael@428: gl/lib/getopt_int.h \ michael@428: gl/lib/gettext.h \ michael@428: gl/lib/hash.h \ michael@428: gl/lib/minmax.h \ michael@428: gl/lib/quotearg.h \ michael@428: gl/lib/quote.h \ michael@428: gl/lib/safe-write.h \ michael@428: gl/lib/stdbool.hin \ michael@428: gl/lib/unlocked-io.h \ michael@428: gl/lib/verify.h \ michael@428: gl/lib/xalloc.h \ michael@428: gl/lib/xstrndup.h michael@428: michael@428: HDRS = $(LIBHDRS) \ michael@428: src/bestmatch.h \ michael@428: src/common.h \ michael@428: src/diffseq.h \ michael@428: src/inp.h \ michael@428: src/maketime.h \ michael@428: src/partime.h \ michael@428: src/pch.h \ michael@428: src/quotesys.h \ michael@428: src/util.h \ michael@428: src/version.h michael@428: michael@428: MISC = \ michael@428: AUTHORS \ michael@428: COPYING \ michael@428: ChangeLog \ michael@428: INSTALL \ michael@428: Makefile.in \ michael@428: NEWS \ michael@428: README \ michael@428: VERSION \ michael@428: aclocal.m4 \ michael@428: config.guess\ michael@428: config.hin \ michael@428: config.sub \ michael@428: configure \ michael@428: configure.ac \ michael@428: install-sh \ michael@428: mkinstalldirs \ michael@428: patch.man \ michael@428: tests/test-lib.sh \ michael@428: update-version.sh michael@428: michael@428: DISTFILES = $(MISC) $(SRCS) $(HDRS) $(M4FILES) \ michael@428: pc/chdirsaf.c \ michael@428: pc/djgpp/config.sed \ michael@428: pc/djgpp/configure.bat \ michael@428: pc/djgpp/configure.sed \ michael@428: pc/djgpp/README michael@428: michael@428: MORE_DISTFILES = $(TESTS) $(BROKEN_TESTS) michael@428: michael@428: patch_name = `echo patch | sed '$(transform)'` michael@428: michael@428: all:: src/patch$(EXEEXT) michael@428: michael@428: info:: michael@428: installcheck:: michael@428: michael@428: TESTS = \ michael@428: tests/asymmetric-hunks \ michael@428: tests/backup-prefix-suffix \ michael@428: tests/corrupt-reject-files \ michael@428: tests/create-delete \ michael@428: tests/crlf-handling \ michael@428: tests/filename-choice \ michael@428: tests/global-reject-files \ michael@428: tests/inname \ michael@428: tests/line-numbers \ michael@428: tests/merge \ michael@428: tests/munged-context-format \ michael@428: tests/need-filename \ michael@428: tests/no-newline-triggers-assert \ michael@428: tests/preserve-c-function-names \ michael@428: tests/preserve-mode-and-timestamp \ michael@428: tests/reject-format \ michael@428: tests/remember-backup-files \ michael@428: tests/remember-reject-files \ michael@428: tests/unmodified-files michael@428: michael@428: BROKEN_TESTS = \ michael@428: tests/dash-o-append michael@428: michael@428: check:: $(TESTS) michael@428: @echo All tests succeeded! michael@428: michael@428: .PHONY: $(TESTS) $(BROKEN_TESTS) michael@428: $(TESTS) $(BROKEN_TESTS): all michael@428: @echo "[$@]" michael@428: @srcdir=$(srcdir)/tests $(TEST_SHELL) $(srcdir)/$@ michael@428: michael@428: DEFINE_ENABLE_MERGE = -DENABLE_MERGE michael@428: COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -Ded_PROGRAM=\"$(ed_PROGRAM)\" \ michael@428: $(DEFINE_ENABLE_MERGE) -I. -I$(srcdir)/src -I$(srcdir)/gl/lib $(CFLAGS) michael@428: michael@428: .c.$(OBJEXT): michael@428: @mkdir -p $(@D) michael@428: $(COMPILE) -o $@ $< michael@428: michael@428: src/patch$(EXEEXT): $(OBJS) michael@428: $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) michael@428: michael@428: install:: all michael@428: $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) michael@428: $(INSTALL_PROGRAM) src/patch$(EXEEXT) $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) michael@428: $(INSTALL_DATA) $(srcdir)/patch.man $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) michael@428: michael@428: install-strip:: michael@428: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install michael@428: michael@428: uninstall:: michael@428: rm -f $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) \ michael@428: $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) michael@428: michael@428: Makefile: Makefile.in $(CONFIG_STATUS) michael@428: $(SHELL) $(CONFIG_STATUS) michael@428: FORCE: michael@428: VERSION: FORCE michael@428: @cd $(srcdir) && $(SHELL) ./update-version.sh VERSION michael@428: config.status: configure michael@428: $(SHELL) $(CONFIG_STATUS) --recheck michael@428: configure: configure.ac $(srcdir)/aclocal.m4 $(srcdir)/VERSION michael@428: cd $(srcdir) && autoconf --force michael@428: config.hin: configure.ac $(srcdir)/aclocal.m4 michael@428: cd $(srcdir) && autoheader --force michael@428: michael@428: # We need the following in order to create when the system michael@428: # doesn't have one that works with the given compiler. michael@428: getopt.h: gl/lib/getopt.hin michael@428: rm -f $@-t $@ michael@428: { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ michael@428: cat $(srcdir)/gl/lib/getopt.hin; \ michael@428: } > $@-t michael@428: mv -f $@-t $@ michael@428: michael@428: # We need the following in order to create when the system michael@428: # doesn't have one that works. michael@428: #gl/lib/stdbool.h: gl/lib/stdbool.hin michael@428: stdbool.h: gl/lib/stdbool.hin michael@428: rm -f $@-t $@ michael@428: { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ michael@428: sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ michael@428: < $(srcdir)/gl/lib/stdbool.hin; \ michael@428: } > $@-t michael@428: mv $@-t $@ michael@428: michael@428: LIBM4FILES = \ michael@428: gl/m4/argmatch.m4 \ michael@428: gl/m4/backupfile.m4 \ michael@428: gl/m4/d-ino.m4 \ michael@428: gl/m4/dirname.m4 \ michael@428: gl/m4/dos.m4 \ michael@428: gl/m4/double-slash-root.m4 \ michael@428: gl/m4/error.m4 \ michael@428: gl/m4/exitfail.m4 \ michael@428: gl/m4/extensions.m4 \ michael@428: gl/m4/getopt.m4 \ michael@428: gl/m4/gettext.m4 \ michael@428: gl/m4/hash.m4 \ michael@428: gl/m4/inline.m4 \ michael@428: gl/m4/malloc.m4 \ michael@428: gl/m4/mbrtowc.m4 \ michael@428: gl/m4/mbstate_t.m4 \ michael@428: gl/m4/memchr.m4 \ michael@428: gl/m4/minmax.m4 \ michael@428: gl/m4/onceonly.m4 \ michael@428: gl/m4/quotearg.m4 \ michael@428: gl/m4/quote.m4 \ michael@428: gl/m4/realloc.m4 \ michael@428: gl/m4/rename.m4 \ michael@428: gl/m4/safe-write.m4 \ michael@428: gl/m4/ssize_t.m4 \ michael@428: gl/m4/stdbool.m4 \ michael@428: gl/m4/strcase.m4 \ michael@428: gl/m4/strndup.m4 \ michael@428: gl/m4/unlocked-io.m4 \ michael@428: gl/m4/utimbuf.m4 \ michael@428: gl/m4/xalloc.m4 \ michael@428: gl/m4/xstrndup.m4 michael@428: michael@428: M4FILES = $(LIBM4FILES) \ michael@428: m4/mkdir.m4 \ michael@428: m4/setmode.m4 michael@428: michael@428: $(srcdir)/aclocal.m4: $(M4FILES) michael@428: aclocal -I m4 -I gl/m4 michael@428: michael@428: TAGS: $(HDRS) $(SRCS) michael@428: etags $(HDRS) $(SRCS) michael@428: michael@428: mostlyclean:: michael@428: rm -f core* *core src/*.$(OBJEXT) gl/lib/*.$(OBJEXT) \ michael@428: stdbool.h getopt.h gl/lib/*.h-t michael@428: michael@428: clean:: mostlyclean michael@428: rm -f src/patch$(EXEEXT) michael@428: michael@428: distclean:: clean michael@428: rm -f Makefile config.cache config.hin~ config.log config.status \ michael@428: config.h michael@428: rm -rf autom4te.cache/ michael@428: michael@428: maintainer-clean:: michael@428: @echo "This command is intended for maintainers to use;" michael@428: @echo "rebuilding the deleted files requires special tools." michael@428: $(MAKE) distclean michael@428: rm -f TAGS VERSION aclocal.m4 config.hin configure \ michael@428: patch-*.tar.gz patch-*.tar.gz.sig michael@428: michael@428: PV = $(PACKAGE_NAME)-$(PACKAGE_VERSION) michael@428: michael@428: dist:: $(DISTFILES) michael@428: @rm -rf $(PV) michael@428: @ln -s . $(PV) michael@428: @tar -cf - `( printf "%s\n" $(DISTFILES) $(MORE_DISTFILES); \ michael@428: grep -q -E -- '-[0-9]+-[0-9a-z]+(-dirty)?$$' VERSION \ michael@428: && echo README-alpha \ michael@428: ) | sed -e 's,^$(srcdir)/,,' -e "s,^,$(PV)/," \ michael@428: | LC_ALL=C sort` \ michael@428: | gzip -9 > $(PV).tar.gz michael@428: @if which bzip2 >/dev/null 2>/dev/null; then \ michael@428: gzip -d < $(PV).tar.gz | bzip2 -9 > $(PV).tar.bz2; fi michael@428: @if which xz >/dev/null 2>/dev/null; then \ michael@428: gzip -d < $(PV).tar.gz | xz -9 > $(PV).tar.xz; fi michael@428: @rm -rf $(PV) michael@428: @whereto=$$(if grep -q -E -- '-[0-9]+-[0-9a-z]+(-dirty)?$$' VERSION; \ michael@428: then echo alpha; else echo ftp; fi); \ michael@428: echo; \ michael@428: echo "# gnupload --to $$whereto.gnu.org:patch $(PV).tar.gz"; \ michael@428: test ! -e $(PV).tar.bz2 || echo "# gnupload" \ michael@428: "--to $$whereto.gnu.org:patch $(PV).tar.bz2"; \ michael@428: test ! -e $(PV).tar.xz || echo "# gnupload" \ michael@428: "--to $$whereto.gnu.org:patch $(PV).tar.xz"; \ michael@428: echo michael@428: michael@428: $(OBJS): config.h michael@428: COMMON = src/common.h $(STDBOOL_H) michael@428: michael@428: gl/lib/addext.$(OBJEXT): gl/lib/backupfile.h gl/lib/dirname.h michael@428: gl/lib/argmatch.$(OBJEXT): $(STDBOOL_H) gl/lib/argmatch.h gl/lib/gettext.h \ michael@428: gl/lib/error.h gl/lib/quote.h gl/lib/quotearg.h gl/lib/unlocked-io.h michael@428: gl/lib/backupfile.$(OBJEXT): gl/lib/argmatch.h gl/lib/backupfile.h \ michael@428: gl/lib/dirname.h michael@428: gl/lib/basename.$(OBJEXT): gl/lib/dirname.h michael@428: gl/lib/dirname.$(OBJEXT): gl/lib/dirname.h gl/lib/xalloc.h michael@428: gl/lib/error.$(OBJEXT): gl/lib/error.h gl/lib/gettext.h gl/lib/unlocked-io.h michael@428: gl/lib/exitfail.$(OBJEXT): gl/lib/exitfail.h michael@428: gl/lib/full-write.$(OBJEXT): gl/lib/full-write.h gl/lib/safe-write.h michael@428: gl/lib/getopt.$(OBJEXT) gl/lib/getopt1.$(OBJEXT): getopt.h michael@428: gl/lib/hash.$(OBJEXT): $(STDBOOL_H) gl/lib/hash.h michael@428: gl/lib/safe-read.$(OBJEXT): gl/lib/safe-write.h michael@428: gl/lib/safe-write.$(OBJEXT): gl/lib/safe-read.c michael@428: michael@428: src/inp.$(OBJEXT): gl/lib/backupfile.h $(COMMON) src/inp.h src/pch.h \ michael@428: gl/lib/quotearg.h src/util.h gl/lib/xalloc.h michael@428: src/maketime.$(OBJEXT): src/maketime.h src/partime.h michael@428: src/partime.$(OBJEXT): src/partime.h michael@428: src/patch.$(OBJEXT): gl/lib/argmatch.h gl/lib/backupfile.h $(COMMON) \ michael@428: gl/lib/exitfail.h $(GETOPT_H) src/inp.h src/pch.h \ michael@428: gl/lib/quotearg.h src/util.h src/version.h gl/lib/xalloc.h michael@428: src/pch.$(OBJEXT): gl/lib/backupfile.h $(COMMON) gl/lib/dirname.h src/inp.h \ michael@428: src/pch.h gl/lib/quotearg.h src/util.h michael@428: gl/lib/quote.$(OBJECT): gl/lib/quote.h gl/lib/quotearg.h michael@428: gl/lib/quotearg.$(OBJEXT): gl/lib/gettext.h gl/lib/quotearg.h gl/lib/xalloc.h michael@428: src/quotesys.$(OBJEXT): src/quotesys.h michael@428: gl/lib/strncasecmp.$(OBJEXT): gl/lib/strcasecmp.c michael@428: src/util.$(OBJEXT): gl/lib/backupfile.h $(COMMON) gl/lib/dirname.h gl/lib/full-write.h \ michael@428: gl/lib/hash.h src/maketime.h src/partime.h gl/lib/quotearg.h \ michael@428: src/quotesys.h src/util.h src/version.h gl/lib/xalloc.h michael@428: src/version.$(OBJEXT): $(COMMON) src/version.h michael@428: gl/lib/xmalloc.$(OBJEXT): gl/lib/error.h gl/lib/exitfail.h gl/lib/gettext.h \ michael@428: gl/lib/xalloc.h