1 # Makefile for OS/2. Generated from Makefile.in when CVS is
2 # configured for a dist-build. Configure never gets run on OS/2, so
3 # we must include the generated Makefile in the distribution. See the
9 # Directory in which to install executables.
10 install_dir = s:/gnu/util
12 # srcdir is usually "."
15 # top_srcdir is usually ".."
16 top_srcdir = @top_srcdir@
21 lib_dir = ${top_srcdir}/lib
22 cvs_srcdir = ${top_srcdir}/src
23 diff_srcdir = ${top_srcdir}/diff
24 zlib_dir = ${top_srcdir}/zlib
28 # exec_prefix = ${prefix}
30 # Used to say -lufc, but that would only be needed for crypt().
34 # This says we are building an object file, not a full executable.
36 CFLAGS = -pedantic -Wall -fno-builtin ${CINC} \
37 -I${srcdir} -I${lib_dir} -I${cvs_srcdir} -I${zlib_dir} \
38 -DUNIX -DHAVE_CONFIG_H
41 # headers specific to OS/2
43 # We list OS2_HEADERS so we know what to include when we make dist-dir
49 # headers we use from the common src dir, ../src
51 ${cvs_srcdir}/client.h \
54 ${cvs_srcdir}/hash.h \
55 ${cvs_srcdir}/myndbm.h \
56 ${cvs_srcdir}/patchlevel.h \
57 ${cvs_srcdir}/update.h \
58 ${cvs_srcdir}/server.h \
63 ${diff_srcdir}/cmpbuf.h \
64 ${diff_srcdir}/diff.h \
65 ${diff_srcdir}/system.h
67 # sources specific to OS/2
74 # sources we use from the common src dir, ../src
75 # FIXME: Is this used anywhere? I don't think it is.
78 ${cvs_srcdir}/admin.c \
79 ${cvs_srcdir}/buffer.c \
80 ${cvs_srcdir}/checkin.c \
81 ${cvs_srcdir}/checkout.c \
82 ${cvs_srcdir}/classify.c \
83 ${cvs_srcdir}/client.c \
84 ${cvs_srcdir}/commit.c \
85 ${cvs_srcdir}/create_adm.c \
86 ${cvs_srcdir}/cvsrc.c \
87 ${cvs_srcdir}/diff.c \
88 ${cvs_srcdir}/edit.c \
89 ${cvs_srcdir}/entries.c \
90 ${cvs_srcdir}/error.c \
91 ${cvs_srcdir}/expand_path.c \
92 ${cvs_srcdir}/fileattr.c \
93 ${cvs_srcdir}/find_names.c \
94 ${cvs_srcdir}/hash.c \
95 ${cvs_srcdir}/history.c \
96 ${cvs_srcdir}/ignore.c \
97 ${cvs_srcdir}/import.c \
98 ${cvs_srcdir}/lock.c \
100 ${cvs_srcdir}/login.c \
101 ${cvs_srcdir}/logmsg.c \
102 ${cvs_srcdir}/main.c \
103 ${cvs_srcdir}/mkmodules.c \
104 ${cvs_srcdir}/modules.c \
105 ${cvs_srcdir}/myndbm.c \
106 ${cvs_srcdir}/no_diff.c \
107 ${cvs_srcdir}/parseinfo.c \
108 ${cvs_srcdir}/patch.c \
109 ${cvs_srcdir}/rcs.c \
110 ${cvs_srcdir}/rcscmds.c \
111 ${cvs_srcdir}/recurse.c \
112 ${cvs_srcdir}/release.c \
113 ${cvs_srcdir}/remove.c \
114 ${cvs_srcdir}/repos.c \
115 ${cvs_srcdir}/root.c \
116 ${cvs_srcdir}/scramble.c \
117 ${cvs_srcdir}/server.c \
118 ${cvs_srcdir}/status.c \
119 ${cvs_srcdir}/subr.c \
120 ${cvs_srcdir}/run.c \
121 ${cvs_srcdir}/tag.c \
122 ${cvs_srcdir}/update.c \
123 ${cvs_srcdir}/watch.c \
124 ${cvs_srcdir}/wrapper.c \
125 ${cvs_srcdir}/vers_ts.c \
126 ${cvs_srcdir}/version.c \
128 # end of $COMMON_SOURCES
132 ${diff_srcdir}/analyze.c \
133 ${diff_srcdir}/cmpbuf.c \
134 ${diff_srcdir}/context.c \
135 ${diff_srcdir}/diff.c \
136 ${diff_srcdir}/diff3.c \
137 ${diff_srcdir}/dir.c \
138 ${diff_srcdir}/ed.c \
139 ${diff_srcdir}/ifdef.c \
140 ${diff_srcdir}/io.c \
141 ${diff_srcdir}/normal.c \
142 ${diff_srcdir}/side.c \
143 ${diff_srcdir}/util.c \
144 ${diff_srcdir}/version.c
146 # sources from ../lib
147 # FIXME: Is this used anywhere? I don't think it is.
149 ${lib_dir}/argmatch.c \
150 ${lib_dir}/getline.c \
151 ${lib_dir}/getopt.c \
152 ${lib_dir}/getopt1.c \
155 ${lib_dir}/sighandle.c \
156 ${lib_dir}/valloc.c \
160 # object files from OS/2 sources
161 # was ${srcdir}/rcmd.o
163 ${srcdir}/filesubr.o \
164 ${srcdir}/startserver.o \
165 ${top_srcdir}/windows-NT/rcmd.o \
166 ${srcdir}/savecwd.o \
169 # object files from ../src
171 ${cvs_srcdir}/add.o \
172 ${cvs_srcdir}/admin.o \
173 ${cvs_srcdir}/buffer.o \
174 ${cvs_srcdir}/checkin.o \
175 ${cvs_srcdir}/checkout.o \
176 ${cvs_srcdir}/classify.o \
177 ${cvs_srcdir}/client.o \
178 ${cvs_srcdir}/commit.o \
179 ${cvs_srcdir}/create_adm.o \
180 ${cvs_srcdir}/cvsrc.o \
181 ${cvs_srcdir}/diff.o \
182 ${cvs_srcdir}/edit.o \
183 ${cvs_srcdir}/entries.o \
184 ${cvs_srcdir}/expand_path.o \
185 ${cvs_srcdir}/fileattr.o \
186 ${cvs_srcdir}/find_names.o \
187 ${cvs_srcdir}/hash.o \
188 ${cvs_srcdir}/history.o \
189 ${cvs_srcdir}/ignore.o \
190 ${cvs_srcdir}/import.o \
191 ${cvs_srcdir}/lock.o \
192 ${cvs_srcdir}/log.o \
193 ${cvs_srcdir}/login.o \
194 ${cvs_srcdir}/logmsg.o \
195 ${cvs_srcdir}/main.o \
196 ${cvs_srcdir}/mkmodules.o \
197 ${cvs_srcdir}/modules.o \
198 ${cvs_srcdir}/myndbm.o \
199 ${cvs_srcdir}/no_diff.o \
200 ${cvs_srcdir}/parseinfo.o \
201 ${cvs_srcdir}/patch.o \
202 ${cvs_srcdir}/rcs.o \
203 ${cvs_srcdir}/rcscmds.o \
204 ${cvs_srcdir}/recurse.o \
205 ${cvs_srcdir}/release.o \
206 ${cvs_srcdir}/remove.o \
207 ${cvs_srcdir}/repos.o \
208 ${cvs_srcdir}/root.o \
209 ${cvs_srcdir}/scramble.o \
210 ${cvs_srcdir}/server.o \
211 ${cvs_srcdir}/status.o \
212 ${cvs_srcdir}/tag.o \
213 ${cvs_srcdir}/update.o \
214 ${cvs_srcdir}/watch.o \
215 ${cvs_srcdir}/wrapper.o \
216 ${cvs_srcdir}/vers_ts.o \
217 ${cvs_srcdir}/subr.o \
218 ${cvs_srcdir}/run.o \
219 ${cvs_srcdir}/version.o \
220 ${cvs_srcdir}/error.o \
222 # end of $COMMON_OBJECTS
224 # object files in ../diff
226 ${diff_srcdir}/analyze.o \
227 ${diff_srcdir}/cmpbuf.o \
228 ${diff_srcdir}/context.o \
229 ${diff_srcdir}/diff.o \
230 ${diff_srcdir}/diff3.o \
231 ${diff_srcdir}/dir.o \
232 ${diff_srcdir}/ed.o \
233 ${diff_srcdir}/ifdef.o \
234 ${diff_srcdir}/io.o \
235 ${diff_srcdir}/normal.o \
236 ${diff_srcdir}/side.o \
237 ${diff_srcdir}/util.o \
238 ${diff_srcdir}/version.o
240 # objects from ../lib
242 ${lib_dir}/argmatch.o \
243 ${lib_dir}/getline.o \
244 ${lib_dir}/getopt.o \
245 ${lib_dir}/getopt1.o \
248 ${lib_dir}/sighandle.o \
249 ${lib_dir}/valloc.o \
253 ZLIB_OBJECTS = ${zlib_dir}/adler32.o \
254 ${zlib_dir}/compress.o \
255 ${zlib_dir}/crc32.o \
257 ${zlib_dir}/uncompr.o \
258 ${zlib_dir}/deflate.o \
259 ${zlib_dir}/trees.o \
260 ${zlib_dir}/zutil.o \
261 ${zlib_dir}/inflate.o \
262 ${zlib_dir}/infblock.o \
263 ${zlib_dir}/inftrees.o \
264 ${zlib_dir}/infcodes.o \
265 ${zlib_dir}/infutil.o \
266 ${zlib_dir}/inffast.o
268 SOURCES = ${COMMON_SOURCES} ${LIB_SOURCES} ${OS2_SOURCES} ${DIFF_SOURCES}
269 HEADERS = ${COMMON_HEADERS} ${OS2_HEADERS} ${DIFF_HEADERS}
270 OBJECTS = ${COMMON_OBJECTS} ${LIB_OBJECTS} ${OS2_OBJECTS} ${DIFF_OBJECTS} \
273 DISTFILES = ${OS2_HEADERS} ${OS2_SOURCES} \
275 Makefile.in .cvsignore \
281 .PHONY: all install installcheck uninstall check info dvi
282 all install installcheck uninstall check:
284 .PHONY: dvi info pdf ps
293 .PHONY: clean distclean realclean mostlyclean
294 clean distclean realclean maintainer-clean mostlyclean:
299 # distdir added for compatibility with CVS automake.
303 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
304 distdir: $(DISTFILES)
305 @list='$(DISTFILES)'; for file in $$list; do \
306 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
307 dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
308 if test "$$dir" != "$$file" && test "$$dir" != "."; then \
310 $(mkinstalldirs) "$(distdir)$$dir"; \
314 if test -d $$d/$$file; then \
315 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
316 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
318 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
320 test -f $(distdir)/$$file \
321 || cp -p $$d/$$file $(distdir)/$$file \
325 list='$(SUBDIRS)'; for subdir in $$list; do \
326 if test "$$subdir" = .; then :; else \
327 test -d $(distdir)/$$subdir \
328 || mkdir $(distdir)/$$subdir \
331 $(MAKE) $(AM_MAKEFLAGS) \
332 top_distdir="$(top_distdir)" \
333 distdir=../$(distdir)/$$subdir \
340 # We don't have a real distclean or anything like that, but at least
341 # we can get rid of the obj files and cvs.exe.
342 .PHONY: clean distclean realclean mostlyclean maintainer-clean
343 clean distclean realclean maintainer-clean mostlyclean:
344 rm -f cvs.exe cvs.out
346 rm -f ${diff_srcdir}/*.o
347 rm -f ${lib_dir}/*.o ${lib_dir}/*.a
348 rm -f ${zlib_dir}/*.o ${zlib_dir}/*.a
349 rm -f ${cvs_srcdir}/*.o
353 del $(subst /,\,${srcdir}/*.o)
354 del $(subst /,\,${diff_srcdir}/*.o)
355 del $(subst /,\,${lib_dir}/*.o ${lib_dir}/*.a)
356 del $(subst /,\,${zlib_dir}/*.o ${zlib_dir}/*.a)
357 del $(subst /,\,${cvs_srcdir}/*.o)
360 copy $(subst /,\,${srcdir}/cvs.exe ${install_dir}/cvs.exe)
363 gcc ${OBJ_CFLAGS} ${CFLAGS} -o $@ -c $*.c
365 ${cvs_srcdir}/rcscmds.o: ${cvs_srcdir}/rcscmds.c ${top_srcdir}/diff/diffrun.h
366 gcc ${OBJ_CFLAGS} ${CFLAGS} -I${top_srcdir}/diff -o $@ -c $*.c
368 ${lib_dir}/libcvs.a: $(LIB_OBJECTS)
369 $(AR) cr $@ $(LIB_OBJECTS)
371 ${zlib_dir}/libz.a: $(ZLIB_OBJECTS)
372 $(AR) cr $@ $(ZLIB_OBJECTS)
374 # Eventually probably static linking (cvs-static.exe) will be the
375 # default, but even so we'll want to preserve this rule so we can
376 # create a dynamically linked executable when we want coredumps.
377 cvs.exe: ${OBJECTS} ${lib_dir}/libcvs.a ${zlib_dir}/libz.a
378 gcc $(COMMON_OBJECTS) $(OS2_OBJECTS) ${DIFF_OBJECTS} ${lib_dir}/libcvs.a ${zlib_dir}/libz.a $(LIB) -o cvs.out
379 emxbind -w -o $@.exe cvs.out
381 ${lib_dir}/libcvs.lib: ${lib_dir}/libcvs.a
382 emxomf ${lib_dir}/libcvs.a
384 ${zlib_dir}/libz.lib: ${zlib_dir}/libz.a
385 emxomf ${zlib_dir}/libz.a
387 # Where do -Zomf -Zsys go? When we compile the .o's?
388 # When I tried this rule, I had problems with (1) could not find
389 # socket.lib. Hmm. I thought I converted it from socket.a
390 # in the EMX distribution. Probably my EMX installation at fault.
391 # (2) could not find miscellaneous system routines like strerror.
392 # This might be a matter of learning to live without them (EMX
393 # doc is supposed to describe which are present and which are not).
394 # (3) some linker errors like no stack and the like. Maybe I am
395 # missing some options?
396 cvs-static.exe: ${OBJECTS} ${lib_dir}/libcvs.lib ${zlib_dir}/libz.lib
398 emxomfld -o $@ $(subst .o,.obj,${OBJECTS}) \
399 ${lib_dir}/libcvs.lib ${zlib_dir}/libz.lib ${LIB}
401 # cvs.o: ${OBJECTS} ${SOURCES} ${HEADERS}
403 # Hmm. This rule wants to exist on unix, so that "make dist" works.
404 # And it doesn't want to exist on OS/2, because configure doesn't
405 # run on OS/2 and so ../config.status won't exist. For now we just
406 # say, in emx/README, that people will need to comment it out.
407 Makefile: ../config.status $(srcdir)/Makefile.in
408 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status