386BSD 0.1 development
[unix-history] / usr / othersrc / public / cvs-1.3 / Makefile.in
CommitLineData
31a2f900
WJ
1# Master Makefile for the GNU Concurrent Versions System.
2# Copyright (C) 1986, 1988-1992 Free Software Foundation, Inc.
3
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2, or (at your option)
7# any later version.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18# @(#)Makefile.in 1.17 92/04/10
19
20SHELL = /bin/sh
21
22#### Start of system configuration section. ####
23
24srcdir = @srcdir@
25@VPATH@
26
27# If you use gcc, you should either run the fixincludes script that
28# comes with it or else use gcc with the -traditional option. Otherwise
29# ioctl calls will be compiled incorrectly on some systems.
30CC = @CC@
31AR = ar
32# Older makes don't set $(MAKE), so we set it for them.
33MAKE = make
34# Set RANLIB = echo if your system doesn't have or need ranlib.
35RANLIB = @RANLIB@
36# Set YACC = bison or yacc, depending on which you have on your system
37YACC = @YACC@
38# Use cp if you don't have install.
39INSTALL = @INSTALL@
40INSTALLDATA = @INSTALLDATA@
41
42# Things you might add to DEFS:
43# -DSTDC_HEADERS If you have ANSI C headers and libraries.
44# -DPOSIX If you have POSIX.1 headers and libraries.
45# Also need to define -DDIRENT.
46# -DUSG If you have System V/ANSI C string and
47# memory functions and headers, ndir.h,
48# sys/sysmacros.h, no sys/times.h, fcntl.h,
49# getcwd.
50# -DSIGTYPE=int If your signal handlers return int, not void.
51# -DDIRENT If you have dirent.h.
52# -DSYSNDIR Old Xenix systems (selects sys/ndir.h).
53# -DNDIR Uses <ndir.h> instead od <sys/ndir.h>.
54# -Duid_t=int If <sys/types.h> does not define uid_t.
55# -Dgid_t=int If <sys/types.h> does not define gid_t.
56# -Dmode_t=int If <sys/types.h> does not define mode_t.
57# -Dsize_t=int If <sys/types.h> does not define size_t.
58# -D__CHAR_UNSIGNED__ If type `char' is unsigned.
59# -DTM_IN_SYS_TIME If <time.h> does not define struct tm.
60# -DFCHMOD_MISSING If you lack fchmod system call.
61# -DFSYNC_MISSING If you lack fsync system call.
62# -DFTIME_MISSING If you lack ftime function.
63# -DMKFIFO_MISSING If you lack mkfifo system call, but have FIFOs.
64# -DPUTENV_MISSING If you lack putenv function.
65# -DSTRERROR_MISSING If you lack strerror function.
66# -DSETVBUF_MISSING If you lack setvbuf function.
67# -DVFORK_MISSING If you lack vfork system call.
68# -DVPRINTF_MISSING If you lack vprintf function (but have _doprnt).
69# -DDOPRNT_MISSING If you lack _doprnt function. Also need to define
70# -DVPRINTF_MISSING.
71# -DTIMEB_H_MISSING If you don't have a <sys/timeb.h> include file.
72# -DHAVE_TIMEZONE If you lack ftime, but do have a timezone function.
73# -DBSD_SIGNALS If you lack POSIX signals, but have BSD signals.
74# -DFTRUNCATE_MISSING If you lack ftruncate system call.
75# -DUTIME_NULL_MISSING If your utime system call does not use the
76# current time when passed a null time pointer.
77# -DMVDIR=libdir/mvdir If you lack rename system call.
78
79DEFS = @DEFS@
80LIBS = @LIBS@
81LIBPROGS = @LIBPROGS@
82CDEBUG = @CDEBUG@
83
84INCLUDES = -I. -I../lib @includeopt@
85CFLAGS = $(CDEBUG) $(DEFS) $(INCLUDES)
86LDFLAGS = $(CDEBUG)
87
88prefix = @prefix@
89exec_prefix = @exec_prefix@
90
91# Where to install the executables.
92bindir = $(exec_prefix)/bin
93
94# Where to put the system-wide .cvsrc file
95libdir = $(prefix)/lib
96
97# Where to put the manual pages.
98mandir = $(prefix)/man
99
100#### End of system configuration section. ####
101
102MDEFINES = bindir='$(bindir)' libdir='$(libdir)' mandir='$(mandir)' \
103INSTALL='$(INSTALL)' INSTALLDATA='$(INSTALLDATA)' \
104LIBS='$(LIBS)' LIBPROGS='$(LIBPROGS)' MAKE='$(MAKE)' \
105AR='$(AR)' RANLIB='$(RANLIB)' \
106YACC='$(YACC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \
107CC='$(CC)' INCLUDES='$(INCLUDES)' DEFS='$(DEFS)'
108
109DISTFILES = COPYING COPYING.LIB ChangeLog INSTALL Makefile.in README TODO configure
110
111# Subdirectories to run make in for the primary targets.
112SUBDIRS = lib src man doc examples contrib
113# Only make TAGS/tags files in these directories, in this order
114TSUBDIRS= src lib
115
116all:
117 @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
118.PHONY: all
119
120info:
121clean-info:
122install-info:
123
124install:
125 @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
126.PHONY: install
127
128tags:
129 @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
130 @echo making $@ in .
131 @ctags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done`
132.PHONY: tags
133
134TAGS:
135 @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
136 @echo making $@ in .
137 @etags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done`
138
139ls:
140 @echo $(DISTFILES)
141 @for dir in $(SUBDIRS); do \
142 for i in `cd $$dir; $(MAKE) $(MDEFINES) $@` ; do \
143 echo $$dir/$$i ; \
144 done ; \
145 done
146.PHONY: ls
147
148clean:
149 @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
150.PHONY: clean
151
152distclean:
153 @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
154 rm -f Makefile config.status tags TAGS
155.PHONY: distclean
156
157realclean:
158 @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
159 rm -f Makefile config.status tags TAGS
160.PHONY: realclean
161
162saber:
163 @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done
164.PHONY: saber
165
166lint:
167 @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) xlint || exit 1; cd ..; done
168.PHONY: lint
169
170dist:
171 echo cvs-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q src/version.c` > .fname
172 rm -rf `cat .fname`
173 mkdir `cat .fname`
174 ln $(DISTFILES) `cat .fname`
175 for dir in $(SUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) $@; cd ..; done
176 tar chZf `cat .fname`.tar.Z `cat .fname`
177 rm -rf `cat .fname` .fname