1# Generated automatically from Makefile.in by configure. 2# Makefile for OS/2. Generated from Makefile.in when CVS is 3# configured for a dist-build. Configure never gets run on OS/2, so 4# we must include the generated Makefile in the distribution. See the 5# `dist-dir' rule. 6 7project: cvs.exe 8# .SUFFIXES .c .o .exe 9 10# Directory in which to install executables. 11install_dir = s:/gnu/util 12 13# srcdir is usually "." 14srcdir = . 15 16# top_srcdir is usually ".." 17top_srcdir = .. 18 19subdir = emx 20 21lib_dir = ${top_srcdir}/lib 22cvs_srcdir = ${top_srcdir}/src 23diff_srcdir = ${top_srcdir}/diff 24zlib_dir = ${top_srcdir}/zlib 25 26# Do we need these? 27# prefix = /usr/local 28# exec_prefix = ${prefix} 29 30# Used to say -lufc, but that would only be needed for crypt(). 31LIB = -lsocket 32 33CINC = 34# This says we are building an object file, not a full executable. 35OBJ_CFLAGS = -c 36CFLAGS = -pedantic -Wall -fno-builtin ${CINC} \ 37 -I${srcdir} -I${lib_dir} -I${cvs_srcdir} -I${zlib_dir} \ 38 -DUNIX -DHAVE_CONFIG_H 39 40 41# headers specific to OS/2 42 43# We list OS2_HEADERS so we know what to include when we make dist-dir 44# here. 45OS2_HEADERS = \ 46 ${srcdir}/config.h \ 47 ${srcdir}/options.h \ 48 ${srcdir}/rcmd.h 49 50# headers we use from the common src dir, ../src 51COMMON_HEADERS = \ 52 ${cvs_srcdir}/client.h \ 53 ${cvs_srcdir}/cvs.h \ 54 ${cvs_srcdir}/rcs.h \ 55 ${cvs_srcdir}/hash.h \ 56 ${cvs_srcdir}/myndbm.h \ 57 ${cvs_srcdir}/patchlevel.h \ 58 ${cvs_srcdir}/update.h \ 59 ${cvs_srcdir}/server.h \ 60 ${cvs_srcdir}/error.h 61 62# headers in ../diff 63DIFF_HEADERS = \ 64 ${diff_srcdir}/cmpbuf.h \ 65 ${diff_srcdir}/diff.h \ 66 ${diff_srcdir}/system.h 67 68# sources specific to OS/2 69OS2_SOURCES = \ 70 ${srcdir}/filesubr.c \ 71 ${srcdir}/startserver.c \ 72 ${srcdir}/stripslash.c \ 73 ${srcdir}/savecwd.c \ 74 ${srcdir}/system.c 75 76# sources we use from the common src dir, ../src 77# FIXME: Is this used anywhere? I don't think it is. 78COMMON_SOURCES = \ 79 ${cvs_srcdir}/add.c \ 80 ${cvs_srcdir}/admin.c \ 81 ${cvs_srcdir}/buffer.c \ 82 ${cvs_srcdir}/checkin.c \ 83 ${cvs_srcdir}/checkout.c \ 84 ${cvs_srcdir}/classify.c \ 85 ${cvs_srcdir}/client.c \ 86 ${cvs_srcdir}/commit.c \ 87 ${cvs_srcdir}/create_adm.c \ 88 ${cvs_srcdir}/cvsrc.c \ 89 ${cvs_srcdir}/diff.c \ 90 ${cvs_srcdir}/edit.c \ 91 ${cvs_srcdir}/entries.c \ 92 ${cvs_srcdir}/error.c \ 93 ${cvs_srcdir}/expand_path.c \ 94 ${cvs_srcdir}/fileattr.c \ 95 ${cvs_srcdir}/find_names.c \ 96 ${cvs_srcdir}/hash.c \ 97 ${cvs_srcdir}/history.c \ 98 ${cvs_srcdir}/ignore.c \ 99 ${cvs_srcdir}/import.c \ 100 ${cvs_srcdir}/lock.c \ 101 ${cvs_srcdir}/log.c \ 102 ${cvs_srcdir}/login.c \ 103 ${cvs_srcdir}/logmsg.c \ 104 ${cvs_srcdir}/main.c \ 105 ${cvs_srcdir}/mkmodules.c \ 106 ${cvs_srcdir}/modules.c \ 107 ${cvs_srcdir}/myndbm.c \ 108 ${cvs_srcdir}/no_diff.c \ 109 ${cvs_srcdir}/parseinfo.c \ 110 ${cvs_srcdir}/patch.c \ 111 ${cvs_srcdir}/rcs.c \ 112 ${cvs_srcdir}/rcscmds.c \ 113 ${cvs_srcdir}/recurse.c \ 114 ${cvs_srcdir}/release.c \ 115 ${cvs_srcdir}/remove.c \ 116 ${cvs_srcdir}/repos.c \ 117 ${cvs_srcdir}/root.c \ 118 ${cvs_srcdir}/scramble.c \ 119 ${cvs_srcdir}/server.c \ 120 ${cvs_srcdir}/status.c \ 121 ${cvs_srcdir}/subr.c \ 122 ${cvs_srcdir}/run.c \ 123 ${cvs_srcdir}/tag.c \ 124 ${cvs_srcdir}/update.c \ 125 ${cvs_srcdir}/watch.c \ 126 ${cvs_srcdir}/wrapper.c \ 127 ${cvs_srcdir}/vers_ts.c \ 128 ${cvs_srcdir}/version.c \ 129 ${cvs_srcdir}/zlib.c 130# end of $COMMON_SOURCES 131 132# sources in ../diff 133DIFF_SOURCES = \ 134 ${diff_srcdir}/analyze.c \ 135 ${diff_srcdir}/cmpbuf.c \ 136 ${diff_srcdir}/context.c \ 137 ${diff_srcdir}/diff.c \ 138 ${diff_srcdir}/diff3.c \ 139 ${diff_srcdir}/dir.c \ 140 ${diff_srcdir}/ed.c \ 141 ${diff_srcdir}/ifdef.c \ 142 ${diff_srcdir}/io.c \ 143 ${diff_srcdir}/normal.c \ 144 ${diff_srcdir}/side.c \ 145 ${diff_srcdir}/util.c \ 146 ${diff_srcdir}/version.c 147 148# sources from ../lib 149# FIXME: Is this used anywhere? I don't think it is. 150LIB_SOURCES = \ 151 ${lib_dir}/argmatch.c \ 152 ${lib_dir}/getline.c \ 153 ${lib_dir}/getopt.c \ 154 ${lib_dir}/getopt1.c \ 155 ${lib_dir}/md5.c \ 156 ${lib_dir}/regex.c \ 157 ${lib_dir}/sighandle.c \ 158 ${lib_dir}/valloc.c \ 159 ${lib_dir}/yesno.c \ 160 ${lib_dir}/getdate.c 161 162# object files from OS/2 sources 163# was ${srcdir}/rcmd.o 164OS2_OBJECTS = \ 165 ${srcdir}/filesubr.o \ 166 ${srcdir}/startserver.o \ 167 ${srcdir}/stripslash.o \ 168 ${top_srcdir}/windows-NT/rcmd.o \ 169 ${srcdir}/savecwd.o \ 170 ${srcdir}/system.o 171 172# object files from ../src 173COMMON_OBJECTS = \ 174 ${cvs_srcdir}/add.o \ 175 ${cvs_srcdir}/admin.o \ 176 ${cvs_srcdir}/buffer.o \ 177 ${cvs_srcdir}/checkin.o \ 178 ${cvs_srcdir}/checkout.o \ 179 ${cvs_srcdir}/classify.o \ 180 ${cvs_srcdir}/client.o \ 181 ${cvs_srcdir}/commit.o \ 182 ${cvs_srcdir}/create_adm.o \ 183 ${cvs_srcdir}/cvsrc.o \ 184 ${cvs_srcdir}/diff.o \ 185 ${cvs_srcdir}/edit.o \ 186 ${cvs_srcdir}/entries.o \ 187 ${cvs_srcdir}/expand_path.o \ 188 ${cvs_srcdir}/fileattr.o \ 189 ${cvs_srcdir}/find_names.o \ 190 ${cvs_srcdir}/hash.o \ 191 ${cvs_srcdir}/history.o \ 192 ${cvs_srcdir}/ignore.o \ 193 ${cvs_srcdir}/import.o \ 194 ${cvs_srcdir}/lock.o \ 195 ${cvs_srcdir}/log.o \ 196 ${cvs_srcdir}/login.o \ 197 ${cvs_srcdir}/logmsg.o \ 198 ${cvs_srcdir}/main.o \ 199 ${cvs_srcdir}/mkmodules.o \ 200 ${cvs_srcdir}/modules.o \ 201 ${cvs_srcdir}/myndbm.o \ 202 ${cvs_srcdir}/no_diff.o \ 203 ${cvs_srcdir}/parseinfo.o \ 204 ${cvs_srcdir}/patch.o \ 205 ${cvs_srcdir}/rcs.o \ 206 ${cvs_srcdir}/rcscmds.o \ 207 ${cvs_srcdir}/recurse.o \ 208 ${cvs_srcdir}/release.o \ 209 ${cvs_srcdir}/remove.o \ 210 ${cvs_srcdir}/repos.o \ 211 ${cvs_srcdir}/root.o \ 212 ${cvs_srcdir}/scramble.o \ 213 ${cvs_srcdir}/server.o \ 214 ${cvs_srcdir}/status.o \ 215 ${cvs_srcdir}/tag.o \ 216 ${cvs_srcdir}/update.o \ 217 ${cvs_srcdir}/watch.o \ 218 ${cvs_srcdir}/wrapper.o \ 219 ${cvs_srcdir}/vers_ts.o \ 220 ${cvs_srcdir}/subr.o \ 221 ${cvs_srcdir}/run.o \ 222 ${cvs_srcdir}/version.o \ 223 ${cvs_srcdir}/error.o \ 224 ${cvs_srcdir}/zlib.o 225# end of $COMMON_OBJECTS 226 227# object files in ../diff 228DIFF_OBJECTS = \ 229 ${diff_srcdir}/analyze.o \ 230 ${diff_srcdir}/cmpbuf.o \ 231 ${diff_srcdir}/context.o \ 232 ${diff_srcdir}/diff.o \ 233 ${diff_srcdir}/diff3.o \ 234 ${diff_srcdir}/dir.o \ 235 ${diff_srcdir}/ed.o \ 236 ${diff_srcdir}/ifdef.o \ 237 ${diff_srcdir}/io.o \ 238 ${diff_srcdir}/normal.o \ 239 ${diff_srcdir}/side.o \ 240 ${diff_srcdir}/util.o \ 241 ${diff_srcdir}/version.o 242 243# objects from ../lib 244LIB_OBJECTS = \ 245 ${lib_dir}/argmatch.o \ 246 ${lib_dir}/getline.o \ 247 ${lib_dir}/getopt.o \ 248 ${lib_dir}/getopt1.o \ 249 ${lib_dir}/md5.o \ 250 ${lib_dir}/regex.o \ 251 ${lib_dir}/sighandle.o \ 252 ${lib_dir}/valloc.o \ 253 ${lib_dir}/yesno.o \ 254 ${lib_dir}/getdate.o 255 256ZLIB_OBJECTS = ${zlib_dir}/adler32.o \ 257 ${zlib_dir}/compress.o \ 258 ${zlib_dir}/crc32.o \ 259 ${zlib_dir}/gzio.o \ 260 ${zlib_dir}/uncompr.o \ 261 ${zlib_dir}/deflate.o \ 262 ${zlib_dir}/trees.o \ 263 ${zlib_dir}/zutil.o \ 264 ${zlib_dir}/inflate.o \ 265 ${zlib_dir}/infblock.o \ 266 ${zlib_dir}/inftrees.o \ 267 ${zlib_dir}/infcodes.o \ 268 ${zlib_dir}/infutil.o \ 269 ${zlib_dir}/inffast.o 270 271SOURCES = ${COMMON_SOURCES} ${LIB_SOURCES} ${OS2_SOURCES} ${DIFF_SOURCES} 272HEADERS = ${COMMON_HEADERS} ${OS2_HEADERS} ${DIFF_HEADERS} 273OBJECTS = ${COMMON_OBJECTS} ${LIB_OBJECTS} ${OS2_OBJECTS} ${DIFF_OBJECTS} \ 274 ${ZLIB_OBJECTS} 275 276DISTFILES = ${OS2_HEADERS} ${OS2_SOURCES} \ 277 ${srcdir}/README ${srcdir}/ChangeLog \ 278 ${srcdir}/Makefile.in ${srcdir}/.cvsignore \ 279 Makefile 280 281all: 282 283# Automake 284.PHONY: all install installcheck uninstall check info 285all install installcheck uninstall check info: 286 287installdirs: 288.PHONY: installdirs 289 290.PHONY: tags TAGS 291tags TAGS: 292 293.PHONY: clean distclean realclean mostlyclean 294clean distclean realclean maintainer-clean mostlyclean: 295 296.PHONY: lint 297lint: 298 299# distdir added for CVS. 300top_builddir = .. 301PACKAGE = cvs 302VERSION = 1.11.1p1 303distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) 304# FIXME - sedding the directory off of the DISTFILES targets is really yucky. 305# The $(srcdir) prefixes should really be removed from all of the files in the 306# lists that make up DISTFILES above. Unfortunately, I don't have an EMX box 307# to test on. 308distdir: $(DISTFILES) 309 @d=$(srcdir); \ 310 for f in $(DISTFILES); do \ 311 file=`echo $$f |sed 's,.*/,,'`; \ 312 if test -d $(distdir)/`dirname $$file`; then \ 313 :; \ 314 else \ 315 mkdir $(distdir)/`dirname $$file`; \ 316 fi; \ 317 if test -d $$d/$$file; then \ 318 cp -pR $$d/$$file $(distdir) \ 319 || exit 1; \ 320 else \ 321 test -f $(distdir)/$$file \ 322 || cp -p $$d/$$file $(distdir)/$$file \ 323 || exit 1; \ 324 fi; \ 325 done 326.PHONY: distdir 327 328# We don't have a real distclean or anything like that, but at least 329# we can get rid of the obj files and cvs.exe. 330.PHONY: clean distclean realclean mostlyclean maintainer-clean 331clean distclean realclean maintainer-clean mostlyclean: 332 rm -f cvs.exe cvs.out 333 rm -f ${srcdir}/*.o 334 rm -f ${diff_srcdir}/*.o 335 rm -f ${lib_dir}/*.o ${lib_dir}/*.a 336 rm -f ${zlib_dir}/*.o ${zlib_dir}/*.a 337 rm -f ${cvs_srcdir}/*.o 338 339clean-cvs: 340 del cvs.exe cvs.out 341 del $(subst /,\,${srcdir}/*.o) 342 del $(subst /,\,${diff_srcdir}/*.o) 343 del $(subst /,\,${lib_dir}/*.o ${lib_dir}/*.a) 344 del $(subst /,\,${zlib_dir}/*.o ${zlib_dir}/*.a) 345 del $(subst /,\,${cvs_srcdir}/*.o) 346 347install-cvs: cvs.exe 348 copy $(subst /,\,${srcdir}/cvs.exe ${install_dir}/cvs.exe) 349 350%.o: %.c 351 gcc ${OBJ_CFLAGS} ${CFLAGS} -o $@ -c $*.c 352 353${cvs_srcdir}/rcscmds.o: ${cvs_srcdir}/rcscmds.c ${top_srcdir}/diff/diffrun.h 354 gcc ${OBJ_CFLAGS} ${CFLAGS} -I${top_srcdir}/diff -o $@ -c $*.c 355 356${lib_dir}/libcvs.a: $(LIB_OBJECTS) 357 $(AR) cr $@ $(LIB_OBJECTS) 358 359${zlib_dir}/libz.a: $(ZLIB_OBJECTS) 360 $(AR) cr $@ $(ZLIB_OBJECTS) 361 362# Eventually probably static linking (cvs-static.exe) will be the 363# default, but even so we'll want to preserve this rule so we can 364# create a dynamically linked executable when we want coredumps. 365cvs.exe: ${OBJECTS} ${lib_dir}/libcvs.a ${zlib_dir}/libz.a 366 gcc $(COMMON_OBJECTS) $(OS2_OBJECTS) ${DIFF_OBJECTS} ${lib_dir}/libcvs.a ${zlib_dir}/libz.a $(LIB) -o cvs.out 367 emxbind -w -o $@.exe cvs.out 368 369${lib_dir}/libcvs.lib: ${lib_dir}/libcvs.a 370 emxomf ${lib_dir}/libcvs.a 371 372${zlib_dir}/libz.lib: ${zlib_dir}/libz.a 373 emxomf ${zlib_dir}/libz.a 374 375# Where do -Zomf -Zsys go? When we compile the .o's? 376# When I tried this rule, I had problems with (1) could not find 377# socket.lib. Hmm. I thought I converted it from socket.a 378# in the EMX distribution. Probably my EMX installation at fault. 379# (2) could not find miscellaneous system routines like strerror. 380# This might be a matter of learning to live without them (EMX 381# doc is supposed to describe which are present and which are not). 382# (3) some linker errors like no stack and the like. Maybe I am 383# missing some options? 384cvs-static.exe: ${OBJECTS} ${lib_dir}/libcvs.lib ${zlib_dir}/libz.lib 385 emxomf ${OBJECTS} 386 emxomfld -o $@ $(subst .o,.obj,${OBJECTS}) \ 387 ${lib_dir}/libcvs.lib ${zlib_dir}/libz.lib ${LIB} 388 389# cvs.o: ${OBJECTS} ${SOURCES} ${HEADERS} 390 391# Hmm. This rule wants to exist on unix, so that "make dist" works. 392# And it doesn't want to exist on OS/2, because configure doesn't 393# run on OS/2 and so ../config.status won't exist. For now we just 394# say, in emx/README, that people will need to comment it out. 395Makefile: ../config.status $(srcdir)/Makefile.in 396 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 397 398