xref: /openbsd/gnu/usr.bin/cvs/src/Makefile.am (revision 09467b48)
1## Process this file with automake to produce Makefile.in
2# Makefile for GNU CVS program.
3# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
4
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2, or (at your option)
8# any later version.
9
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14
15SHELL = /bin/sh
16
17# $(includeopt) is CVS specific and set by configure
18# FIXME - This includes line is dependant on its order.  This means there is
19# some namespace hackery going on that maybe shouldn't be.  Long term fix is to
20# try and remove naming ocnflicts and fix Automake to allow particular includes
21# to be attached only to particular object files.  Short term fix is either or.
22##INCLUDES = -I. -I.. -I$(srcdir) -I$(top_srcdir)/lib
23INCLUDES = -I$(top_srcdir)/lib -I$(top_srcdir)/diff $(includeopt)
24
25bin_PROGRAMS = cvs
26bin_SCRIPTS = cvsbug
27
28# The cvs executable
29cvs_SOURCES = \
30	add.c \
31	admin.c \
32	annotate.c \
33	buffer.c \
34	checkin.c \
35	checkout.c \
36	classify.c \
37	client.c \
38	commit.c \
39	create_adm.c \
40	cvsrc.c diff.c \
41	edit.c \
42	entries.c \
43	error.c \
44	expand_path.c \
45	fileattr.c \
46	filesubr.c \
47	find_names.c \
48	hardlink.c \
49	hash.c \
50	history.c \
51	ignore.c \
52	import.c \
53	lock.c \
54	log.c \
55	login.c \
56	logmsg.c \
57	main.c \
58	mkmodules.c \
59	modules.c \
60	myndbm.c \
61	no_diff.c \
62	parseinfo.c \
63	patch.c \
64	rcs.c \
65	rcscmds.c \
66	recurse.c \
67	release.c \
68	remove.c \
69	repos.c \
70	root.c \
71	run.c \
72	scramble.c \
73	server.c \
74	status.c \
75	subr.c \
76	tag.c \
77	update.c \
78	vers_ts.c \
79	watch.c \
80	wrapper.c \
81	zlib.c \
82	buffer.h \
83	client.h \
84	cvs.h \
85	edit.h \
86	error.h \
87	fileattr.h \
88	hardlink.h \
89	hash.h \
90	myndbm.h \
91	rcs.h \
92	server.h \
93	update.h \
94	watch.h
95cvs_LDADD = \
96	../diff/libdiff.a \
97	../lib/libcvs.a \
98	../zlib/libz.a \
99	version.o
100cvs_EXTRA_DIST = version.c
101
102# extra clean targets
103# wish this could be distclean-hdr-local but it's not part of automake
104DISTCLEANFILES = options.h-SAVED check.log check.plog
105
106# General
107EXTRA_DIST = \
108	$(cvs_EXTRA_DIST) \
109	.cvsignore \
110	ChangeLog-9194 \
111	ChangeLog-9395 \
112	ChangeLog-96 \
113	ChangeLog-97 \
114	build_src.com \
115	sanity.sh \
116	version.c \
117	version.c.in
118
119check-local:
120	$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
121
122.PHONY: remotecheck
123remotecheck: all
124	$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs
125
126## MAINTAINER Targets
127
128# version.c
129# - build this here so that we can distribute it
130# - version.c needs to be updated only once, since it depends on
131#   configure.in, not on the results of a 'configure' run.
132# - It is guaranteed (with GNU Make) that when the version in configure.in
133#   is changed, acversion.m4 is built only after the new version number is
134#   propagated to the Makefile.  (Libtool uses the same guarantee.)
135# - need the explicit version.o dependency or else make won't match
136#   $(srcdir)/version.c when looking for a dependency for version.c
137version.o: $(srcdir)/version.c
138$(srcdir)/version.c: $(srcdir)/version.c.in $(top_srcdir)/configure.in
139	sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/version.c.in >$(srcdir)/version.tc
140	mv $(srcdir)/version.tc $(srcdir)/version.c
141
142# for backwards compatibility with the old makefiles
143.PHONY: realclean
144realclean: maintainer-clean
145