# Master Makefile for the GNU Concurrent Versions System. # Copyright (C) 1986, 1988-1992, 1994 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. SHELL = /bin/sh #### Start of system configuration section. #### srcdir = . top_srcdir = . # If you use gcc, you should either run the fixincludes script that # comes with it or else use gcc with the -traditional option. Otherwise # ioctl calls will be compiled incorrectly on some systems. CC = cc AR = ar # Set RANLIB = echo if your system doesn't have or need ranlib. RANLIB = ranlib # Set YACC = bison or yacc, depending on which you have on your system YACC = bison -y # Use cp if you don't have install. INSTALL = /usr/bin/install -c -o root -g wheel INSTALL_DATA = install -o root -g wheel -m 444 INSTALL_PROGRAM = install -s -o root -g wheel -m 555 DEFS = -DHAVE_CONFIG_H LIBS = -L/usr/cygnus/kerbnet/lib -lgssapi_krb5 -lkrb5 -lcrypto -lcom_err INCLUDES = -I. -I../lib -I/usr/cygnus/kerbnet/include CFLAGS = -fno-common -I/usr/local/include/gtk12 -I/usr/local/include/glib12 -I/usr/local/include -I/usr/X11R6/include -DqUnix -DqGTK -I/usr/X11R6/include -DqCvsDebug=0 -DCVSGUI LDFLAGS = MAKEINFO = makeinfo TEXI2DVI = texi2dvi prefix = exec_prefix = ${prefix} # Where to install the executables. bindir = ${exec_prefix}/bin # Where to put the system-wide .cvsrc file libdir = ${exec_prefix}/lib # Where to put the Info files infodir = ${prefix}/share/info # Where to put the manual pages. mandir = ${prefix}/share/man #### End of system configuration section. #### FLAGS_TO_PASS = \ AR='$(AR)' \ CC='$(CC)' \ CFLAGS='$(CFLAGS)' \ LDFLAGS='$(LDFLAGS)' \ LIBPROGS='$(LIBPROGS)' \ LIBS='$(LIBS)' \ MAKE='$(MAKE)' \ MAKEINFO='$(MAKEINFO)' \ RANLIB='$(RANLIB)' \ TEXI2DVI='$(TEXI2DVI)' \ YACC='$(YACC)' \ bindir='$(bindir)' \ infodir='$(infodir)' \ libdir='$(libdir)' \ mandir='$(mandir)' \ prefix='$(prefix)' \ exec_prefix='$(exec_prefix)' DISTFILES = \ COPYING COPYING.LIB INSTALL README TODO PROJECTS \ BUGS MINOR-BUGS FAQ HACKING DEVEL-CVS TESTS \ README.VMS build.com \ ChangeLog NEWS ChangeLog.zoo \ configure configure.in stamp-h.in config.h.in Makefile.in acconfig.h \ cvs-format.el mkinstalldirs install-sh \ cvsnt.mak cvsnt.dsp cvsnt.dsw \ .cvsignore cvs.spec ### Subdirectories to run make in for the primary targets. # Unix source subdirs, where we'll want to run lint and etags: USOURCE_SUBDIRS = lib zlib diff src # All other subdirs: SUBDIRS = ${USOURCE_SUBDIRS} man doc contrib tools \ windows-NT os2 emx vms # Only make TAGS/tags files in these directories. TSUBDIRS= src lib # Set default target. all: .PHONY: all install uninstall installdirs all install uninstall installdirs: config.h Makefile all-local @for subdir in $(SUBDIRS); do \ echo "making $@ in $$subdir"; \ ( cd $$subdir && $(MAKE) $(FLAGS_TO_PASS) $@ ) || exit 1; \ done installdirs: installdirs-local install: all install-local install-info .PHONY: all-local all-local: .PHONY: info dvi clean-info install-info info dvi clean-info install-info: cd doc && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1 .PHONY: install-local install-local: all-local @: nothing to do locally .PHONY: installdirs-local installdirs-local: all-local @: nothing to do locally .PHONY: tags tags: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done @echo making $@ in . @ctags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done` .PHONY: TAGS TAGS: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done @echo making $@ in . @etags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls | grep -v 'make\[[0-9]\]'\` ; do echo $(srcdir)/$$i ; done` .PHONY: ls ls: @echo $(DISTFILES) @for dir in $(SUBDIRS); do \ for i in `cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ | grep -v 'make\[[0-9]\]'` ; do \ echo $$dir/$$i ; \ done ; \ done .PHONY: clean clean: clean-local @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done .PHONY: distclean distclean: distclean-local @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done rm -f config.status .PHONY: realclean realclean: realclean-local @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done rm -f config.status .PHONY: mostlyclean-local mostlyclean-local: rm -f *~ .PHONY: clean-local clean-local: mostlyclean-local .PHONY: distclean-local distclean-local: clean-local rm -f Makefile config.cache config.h config.log stamp-h rm -f tags TAGS .PHONY: realclean-local realclean-local: distclean-local .PHONY: saber saber: @for dir in $(SUBDIRS); do cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $@ || exit 1; cd ..; done .PHONY: check check: cd lib ; $(MAKE) $(FLAGS_TO_PASS) cd zlib ; $(MAKE) $(FLAGS_TO_PASS) cd diff ; $(MAKE) $(FLAGS_TO_PASS) cd src ; $(MAKE) $(FLAGS_TO_PASS) check .PHONY: remotecheck remotecheck: cd lib ; $(MAKE) $(FLAGS_TO_PASS) cd zlib ; $(MAKE) $(FLAGS_TO_PASS) cd diff ; $(MAKE) $(FLAGS_TO_PASS) cd src ; $(MAKE) $(FLAGS_TO_PASS) remotecheck .PHONY: installcheck installcheck: cd lib ; $(MAKE) $(FLAGS_TO_PASS) cd zlib ; $(MAKE) $(FLAGS_TO_PASS) cd diff ; $(MAKE) $(FLAGS_TO_PASS) cd src ; $(MAKE) $(FLAGS_TO_PASS) installcheck .PHONY: lint lint: @for dir in $(USOURCE_SUBDIRS); do cd $$dir && $(MAKE) $(FLAGS_TO_PASS) xlint || exit 1; cd ..; done .PHONY: dist GZIP=gzip --best GZIP_EXT=.gz TAR_VERBOSE= dist: spec rm -rf `cat .fname` ${MAKE} dist-dir DISTDIR="`cat .fname`" for dir in ${SUBDIRS}; do \ ( DISTDIR="../`cat .fname`/$${dir}"; \ cd $${dir} && \ ${MAKE} dist-dir DISTDIR="$${DISTDIR}" \ ); \ done (unset GZIP; tar chf${TAR_VERBOSE} - `cat .fname` | ${GZIP} > "`cat .fname`.tar${GZIP_EXT}") rm -rf `cat .fname` .fname .version .PHONY: dist-dir dist-dir: test -d ${DISTDIR} || mkdir ${DISTDIR} for i in ${DISTFILES}; do \ ln $(srcdir)/$${i} ${DISTDIR}; \ done distdir: here=`cd $(top_builddir) && pwd`; \ top_distdir=`cd $(top_distdir) && pwd`; \ distdir=`cd $(distdir) && pwd`; \ ${MAKE} dist-dir DISTDIR="$${distdir}"; \ for dir in ${SUBDIRS}; do \ ( DISTDIR="$${distdir}/$${dir}"; \ cd $${dir} && \ ${MAKE} dist-dir DISTDIR="$${DISTDIR}"; \ ); \ done .PHONY: spec spec: rm -f .version .fname sed < $(srcdir)/src/version.c \ -e '/version_string/!d' \ -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \ -e q > .version echo > .fname cvs-`cat .version` rm -f `cat .fname`.spec sed < $(top_srcdir)/cvs.spec \ -e 's/@VERSION@/'`cat .version`'/g' \ > `cat .fname`.spec # For the justification of the following Makefile rules, see node # `Automatic Remaking' in GNU Autoconf documentation. Makefile: Makefile.in config.status CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status # Use -fno-common -I/usr/local/include/gtk12 -I/usr/local/include/glib12 -I/usr/local/include -I/usr/X11R6/include -DqUnix -DqGTK -I/usr/X11R6/include -DqCvsDebug=0 -DCVSGUI not $(CFLAGS) because it would be confusing for "make CFLAGS=" # to sometimes (i.e., if configure is modified) change the configured CFLAGS, # and sometimes not. config.status: configure CFLAGS="-fno-common -I/usr/local/include/gtk12 -I/usr/local/include/glib12 -I/usr/local/include -I/usr/X11R6/include -DqUnix -DqGTK -I/usr/X11R6/include -DqCvsDebug=0 -DCVSGUI" ./config.status --recheck # The rules to run autoconf and autoheader are commented out. This is because # when the user unpacks a tarfile, configure.in might end up newer than # configure, but the user might not have (and does not need to have) autoconf # installed. #configure: configure.in #aclocal.m4 # cd $(srcdir); autoconf config.h: stamp-h # This used to do a ./config.status --recheck, to update config.status with # any new #defines from config.h.in. The problem was that the rule itself # depends on config.status, so that the --recheck would get run several # times, which is bad if the user was trying to specify CFLAGS manually. # It was a big pain in the neck. stamp-h: config.h.in config.status CONFIG_FILES=$@ CONFIG_HEADERS=config.h ./config.status #config.h.in: stamp-h.in #stamp-h.in: configure.in #aclocal.m4 acconfig.h # cd $(srcdir); autoheader # date > $(srcdir)/stamp-h.in # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: