Commit | Line | Data |
---|---|---|
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 | ||
20 | SHELL = /bin/sh | |
21 | ||
22 | #### Start of system configuration section. #### | |
23 | ||
24 | srcdir = @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. | |
30 | CC = @CC@ | |
31 | AR = ar | |
32 | # Older makes don't set $(MAKE), so we set it for them. | |
33 | MAKE = make | |
34 | # Set RANLIB = echo if your system doesn't have or need ranlib. | |
35 | RANLIB = @RANLIB@ | |
36 | # Set YACC = bison or yacc, depending on which you have on your system | |
37 | YACC = @YACC@ | |
38 | # Use cp if you don't have install. | |
39 | INSTALL = @INSTALL@ | |
40 | INSTALLDATA = @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 | ||
79 | DEFS = @DEFS@ | |
80 | LIBS = @LIBS@ | |
81 | LIBPROGS = @LIBPROGS@ | |
82 | CDEBUG = @CDEBUG@ | |
83 | ||
84 | INCLUDES = -I. -I../lib @includeopt@ | |
85 | CFLAGS = $(CDEBUG) $(DEFS) $(INCLUDES) | |
86 | LDFLAGS = $(CDEBUG) | |
87 | ||
88 | prefix = @prefix@ | |
89 | exec_prefix = @exec_prefix@ | |
90 | ||
91 | # Where to install the executables. | |
92 | bindir = $(exec_prefix)/bin | |
93 | ||
94 | # Where to put the system-wide .cvsrc file | |
95 | libdir = $(prefix)/lib | |
96 | ||
97 | # Where to put the manual pages. | |
98 | mandir = $(prefix)/man | |
99 | ||
100 | #### End of system configuration section. #### | |
101 | ||
102 | MDEFINES = bindir='$(bindir)' libdir='$(libdir)' mandir='$(mandir)' \ | |
103 | INSTALL='$(INSTALL)' INSTALLDATA='$(INSTALLDATA)' \ | |
104 | LIBS='$(LIBS)' LIBPROGS='$(LIBPROGS)' MAKE='$(MAKE)' \ | |
105 | AR='$(AR)' RANLIB='$(RANLIB)' \ | |
106 | YACC='$(YACC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \ | |
107 | CC='$(CC)' INCLUDES='$(INCLUDES)' DEFS='$(DEFS)' | |
108 | ||
109 | DISTFILES = COPYING COPYING.LIB ChangeLog INSTALL Makefile.in README TODO configure | |
110 | ||
111 | # Subdirectories to run make in for the primary targets. | |
112 | SUBDIRS = lib src man doc examples contrib | |
113 | # Only make TAGS/tags files in these directories, in this order | |
114 | TSUBDIRS= src lib | |
115 | ||
116 | all: | |
117 | @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done | |
118 | .PHONY: all | |
119 | ||
120 | info: | |
121 | clean-info: | |
122 | install-info: | |
123 | ||
124 | install: | |
125 | @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done | |
126 | .PHONY: install | |
127 | ||
128 | tags: | |
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 | ||
134 | TAGS: | |
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 | ||
139 | ls: | |
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 | ||
148 | clean: | |
149 | @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done | |
150 | .PHONY: clean | |
151 | ||
152 | distclean: | |
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 | ||
157 | realclean: | |
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 | ||
162 | saber: | |
163 | @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done | |
164 | .PHONY: saber | |
165 | ||
166 | lint: | |
167 | @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) xlint || exit 1; cd ..; done | |
168 | .PHONY: lint | |
169 | ||
170 | dist: | |
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 |