194 lines
5.2 KiB
Makefile
194 lines
5.2 KiB
Makefile
# Makefile for GNU CVS program.
|
|
# Do not use this makefile directly, but only from `../Makefile'.
|
|
# Copyright (C) 1986, 1988-1990 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
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
# Where to install the executables.
|
|
bindir = @bindir@
|
|
|
|
# Where to put the system-wide .cvsrc file
|
|
libdir = @libdir@
|
|
|
|
# Where to put the manual pages.
|
|
mandir = @mandir@
|
|
|
|
# Use cp if you don't have install.
|
|
INSTALL = @INSTALL@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
|
|
LIBS = @LIBS@
|
|
|
|
SOURCES = add.c admin.c buffer.c checkin.c checkout.c classify.c client.c \
|
|
commit.c create_adm.c cvsrc.c diff.c edit.c entries.c error.c expand_path.c \
|
|
fileattr.c find_names.c hardlink.c hash.c history.c ignore.c import.c \
|
|
lock.c log.c login.c logmsg.c main.c mkmodules.c modules.c myndbm.c no_diff.c \
|
|
parseinfo.c patch.c rcs.c rcscmds.c recurse.c release.c remove.c repos.c \
|
|
root.c rtag.c scramble.c server.c status.c subr.c filesubr.c run.c \
|
|
tag.c update.c watch.c wrapper.c vers_ts.c version.c zlib.c
|
|
|
|
OBJECTS = add.o admin.o buffer.o checkin.o checkout.o classify.o client.o \
|
|
commit.o create_adm.o cvsrc.o diff.o edit.o entries.o expand_path.o \
|
|
fileattr.o find_names.o hardlink.o hash.o history.o ignore.o import.o \
|
|
lock.o log.o login.o logmsg.o main.o mkmodules.o modules.o myndbm.o no_diff.o \
|
|
parseinfo.o patch.o rcs.o rcscmds.o recurse.o release.o remove.o repos.o \
|
|
root.o rtag.o scramble.o server.o status.o tag.o update.o \
|
|
watch.o wrapper.o vers_ts.o \
|
|
subr.o filesubr.o run.o version.o error.o zlib.o
|
|
|
|
HEADERS = buffer.h cvs.h rcs.h hardlink.h hash.h myndbm.h \
|
|
update.h server.h client.h error.h fileattr.h edit.h watch.h
|
|
|
|
TAGFILES = $(HEADERS) options.h.in $(SOURCES)
|
|
|
|
DISTFILES = .cvsignore Makefile.in \
|
|
ChangeLog ChangeLog-97 ChangeLog-96 ChangeLog-9395 ChangeLog-9194 \
|
|
sanity.sh cvsbug.sh $(TAGFILES) build_src.com
|
|
|
|
PROGS = cvs cvsbug
|
|
|
|
DEFS = @DEFS@ @includeopt@
|
|
|
|
CC = @CC@
|
|
CFLAGS = @CFLAGS@
|
|
CPPFLAGS =
|
|
LDFLAGS = @LDFLAGS@
|
|
|
|
INCLUDES = -I. -I.. -I$(srcdir) -I$(top_srcdir)/lib
|
|
.c.o:
|
|
$(CC) $(CPPFLAGS) $(INCLUDES) $(DEFS) $(CFLAGS) -c $<
|
|
|
|
all: Makefile $(PROGS)
|
|
.PHONY: all
|
|
|
|
saber_cvs:
|
|
@cd ..; $(MAKE) saber SUBDIRS=src
|
|
|
|
lint:
|
|
@cd ..; $(MAKE) lint SUBDIRS=src
|
|
|
|
install: installdirs
|
|
@for prog in $(PROGS); do \
|
|
echo Installing $$prog in $(bindir); \
|
|
$(INSTALL) $$prog $(bindir)/$$prog ; \
|
|
done
|
|
|
|
installdirs:
|
|
$(SHELL) $(top_srcdir)/mkinstalldirs $(bindir)
|
|
|
|
.PHONY: install installdirs
|
|
|
|
installcheck:
|
|
$(SHELL) $(srcdir)/sanity.sh $(bindir)/cvs
|
|
.PHONY: installcheck
|
|
|
|
check: all
|
|
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
|
|
.PHONY: check
|
|
|
|
# I'm not sure there is any remaining reason for this to be separate from
|
|
# `make check'.
|
|
remotecheck: all
|
|
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs
|
|
.PHONY: remotecheck
|
|
|
|
tags: $(TAGFILES)
|
|
ctags $(TAGFILES)
|
|
|
|
TAGS: $(TAGFILES)
|
|
etags `for i in $(TAGFILES); do echo $(srcdir)/$$i; done`
|
|
|
|
ls:
|
|
@echo $(DISTFILES)
|
|
.PHONY: ls
|
|
|
|
clean:
|
|
rm -f $(PROGS) *.o core check.log check.plog
|
|
.PHONY: clean
|
|
|
|
distclean: clean
|
|
rm -f tags TAGS Makefile options.h
|
|
.PHONY: distclean
|
|
|
|
realclean: distclean
|
|
.PHONY: realclean
|
|
|
|
dist-dir:
|
|
mkdir ${DISTDIR}
|
|
for i in ${DISTFILES}; do \
|
|
ln $(srcdir)/$${i} ${DISTDIR}; \
|
|
done
|
|
.PHONY: dist-dir
|
|
|
|
# Linking rules.
|
|
|
|
$(PROGS): ../lib/libcvs.a ../zlib/libz.a ../diff/libdiff.a
|
|
|
|
cvs: $(OBJECTS)
|
|
$(CC) $(OBJECTS) ../lib/libcvs.a ../zlib/libz.a ../diff/libdiff.a $(LIBS) $(LDFLAGS) -o $@
|
|
|
|
xlint: $(SOURCES)
|
|
files= ; \
|
|
for i in $(SOURCES) ; do \
|
|
files="$$files $(srcdir)/$$i" ; \
|
|
done ; \
|
|
sh -c "lint $(DEFS) $(INCLUDES) $$files | grep -v \"possible pointer alignment problem\" \
|
|
| grep -v \"argument closure unused\""
|
|
|
|
saber: $(SOURCES)
|
|
# load $(CFLAGS) $(SOURCES)
|
|
# load ../lib/libcvs.a $(LIBS)
|
|
|
|
cvsbug: cvsbug.sh $(srcdir)/version.c
|
|
echo > .fname \
|
|
cvs-`sed < $(srcdir)/version.c \
|
|
-e '/version_string/!d' \
|
|
-e 's/[^0-9.]*\([0-9.]*\).*/\1/' \
|
|
-e q`
|
|
sed -e 's,xLIBDIRx,$(libdir)/cvs,g' \
|
|
-e "s,xVERSIONx,`cat .fname`,g" $(srcdir)/$@.sh > $@-t
|
|
rm -f .fname
|
|
mv $@-t $@
|
|
chmod a+x $@
|
|
|
|
# Compilation rules.
|
|
|
|
$(OBJECTS): $(HEADERS) options.h
|
|
|
|
rcscmds.o: rcscmds.c $(top_srcdir)/diff/diffrun.h
|
|
$(CC) $(CPPFLAGS) $(INCLUDES) -I$(top_srcdir)/diff $(DEFS) $(CFLAGS) -c $(srcdir)/rcscmds.c
|
|
|
|
zlib.o: zlib.c $(top_srcdir)/zlib/zlib.h
|
|
$(CC) $(CPPFLAGS) $(INCLUDES) -I$(top_srcdir)/zlib $(DEFS) $(CFLAGS) -c $(srcdir)/zlib.c
|
|
|
|
subdir = src
|
|
Makefile: ../config.status Makefile.in
|
|
cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
|
|
|
|
options.h: ../config.status options.h.in
|
|
cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
|
|
|
|
#../config.status: ../configure
|
|
# cd .. ; $(SHELL) config.status --recheck
|
|
|
|
#../configure: ../configure.in
|
|
# cd $(top_srcdir) ; autoconf
|