1# Makefile for OS/2 (Watcom-C) for use with the watcom make.
2# Written 11/96 by Ullrich von Bassewitz (uz@musoftware.com)
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# The directory, where the IBM TCP/IP developers toolkit is installed. As far
15# as I remember, c:\mptn is the default location. If it is not, it is still
16# a good choice :-)
17tcpip_dir       = c:\mptn
18tcpip_libdir    = $(tcpip_dir)\lib
19tcpip_incdir    = $(tcpip_dir)\inc
20
21# Directory for source files and objects
22srcdir          = .
23top_srcdir      = ..
24lib_dir         = $(top_srcdir)\lib
25cvs_srcdir      = $(top_srcdir)\src
26zlib_dir        = $(top_srcdir)\zlib
27
28# Define the stuff used for building the executable
29CC = WCC386
30LD = WLINK
31CFLAGS = -bm -bt=OS2 -I$(srcdir) -I$(lib_dir) -I$(cvs_srcdir) -I$(zlib_dir) &
32        -DIBM_CPP -DHAVE_CONFIG_H -DTCPIP_IBM -d1 -onatx -zp4 -5s -fpi87 -zq &
33        -w2 -ze -I$(tcpip_incdir)
34
35# Tell the make where the C files are located
36.c:     $(srcdir);$(lib_dir);$(cvs_srcdir);$(zlib_dir)
37
38# Somewhat modified generic rule for .obj files. Don't put the .obj file into
39# the current directory, use the source directory instead.
40.c.obj: .AUTODEPEND
41  $(CC) $(CFLAGS) -fo=$*.obj $^*
42
43# object files from OS/2 sources
44OS2_OBJECTS = &
45        $(srcdir)\mkdir.obj &
46        $(srcdir)\pwd.obj &
47        $(srcdir)\filesubr.obj &
48        $(srcdir)\run.obj &
49        $(srcdir)\stripslash.obj &
50        $(srcdir)\rcmd.obj &
51        $(srcdir)\waitpid.obj &
52        $(srcdir)\popen.obj &
53        $(srcdir)\porttcp.obj &
54        $(srcdir)\getpass.obj
55
56# object files from ..\src
57COMMON_OBJECTS = &
58        $(cvs_srcdir)\add.obj &
59        $(cvs_srcdir)\admin.obj &
60        $(cvs_srcdir)\buffer.obj &
61        $(cvs_srcdir)\checkin.obj &
62        $(cvs_srcdir)\checkout.obj &
63        $(cvs_srcdir)\classify.obj &
64        $(cvs_srcdir)\client.obj &
65        $(cvs_srcdir)\commit.obj &
66        $(cvs_srcdir)\create_adm.obj &
67        $(cvs_srcdir)\cvsrc.obj &
68        $(cvs_srcdir)\diff.obj &
69        $(cvs_srcdir)\edit.obj &
70        $(cvs_srcdir)\entries.obj &
71        $(cvs_srcdir)\error.obj &
72        $(cvs_srcdir)\expand_path.obj &
73        $(cvs_srcdir)\fileattr.obj &
74        $(cvs_srcdir)\find_names.obj &
75        $(cvs_srcdir)\hash.obj &
76        $(cvs_srcdir)\history.obj &
77        $(cvs_srcdir)\ignore.obj &
78        $(cvs_srcdir)\import.obj &
79        $(cvs_srcdir)\lock.obj &
80        $(cvs_srcdir)\log.obj &
81        $(cvs_srcdir)\login.obj &
82        $(cvs_srcdir)\logmsg.obj &
83        $(cvs_srcdir)\main.obj &
84        $(cvs_srcdir)\mkmodules.obj &
85        $(cvs_srcdir)\modules.obj &
86        $(cvs_srcdir)\myndbm.obj &
87        $(cvs_srcdir)\no_diff.obj &
88        $(cvs_srcdir)\parseinfo.obj &
89        $(cvs_srcdir)\patch.obj &
90        $(cvs_srcdir)\rcs.obj &
91        $(cvs_srcdir)\rcscmds.obj &
92        $(cvs_srcdir)\recurse.obj &
93        $(cvs_srcdir)\release.obj &
94        $(cvs_srcdir)\remove.obj &
95        $(cvs_srcdir)\repos.obj &
96        $(cvs_srcdir)\root.obj &
97        $(cvs_srcdir)\rtag.obj &
98        $(cvs_srcdir)\scramble.obj &
99        $(cvs_srcdir)\server.obj &
100        $(cvs_srcdir)\status.obj &
101        $(cvs_srcdir)\subr.obj &
102        $(cvs_srcdir)\tag.obj &
103        $(cvs_srcdir)\update.obj &
104        $(cvs_srcdir)\watch.obj &
105        $(cvs_srcdir)\wrapper.obj &
106        $(cvs_srcdir)\vers_ts.obj &
107        $(cvs_srcdir)\version.obj &
108        $(cvs_srcdir)\zlib.obj
109# end of $COMMON_OBJECTS
110
111# objects from ..\lib
112LIB_OBJECTS = &
113        $(lib_dir)\getopt.obj &
114        $(lib_dir)\getopt1.obj &
115        $(lib_dir)\getline.obj &
116        $(lib_dir)\getwd.obj &
117        $(lib_dir)\savecwd.obj &
118        $(lib_dir)\sighandle.obj &
119        $(lib_dir)\yesno.obj &
120        $(lib_dir)\vasprintf.obj &
121        $(lib_dir)\xgetwd.obj &
122        $(lib_dir)\md5.obj &
123        $(lib_dir)\fnmatch.obj &
124        $(lib_dir)\regex.obj &
125        $(lib_dir)\getdate.obj &
126        $(lib_dir)\valloc.obj
127
128ZLIB_OBJECTS = &
129        $(zlib_dir)\adler32.obj &
130        $(zlib_dir)\compress.obj &
131        $(zlib_dir)\crc32.obj &
132        $(zlib_dir)\uncompr.obj &
133        $(zlib_dir)\deflate.obj &
134        $(zlib_dir)\trees.obj &
135        $(zlib_dir)\zutil.obj &
136        $(zlib_dir)\inflate.obj &
137        $(zlib_dir)\infblock.obj &
138        $(zlib_dir)\inftrees.obj &
139        $(zlib_dir)\infcodes.obj &
140        $(zlib_dir)\infutil.obj &
141        $(zlib_dir)\inffast.obj
142
143OBJECTS = $(COMMON_OBJECTS) $(LIB_OBJECTS) $(OS2_OBJECTS) $(ZLIB_OBJECTS)
144
145cvs.exe:        $(OBJECTS)
146        $(LD) SYSTEM os2v2 DEBUG all NAME cvs.exe OPTION dosseg &
147        OPTION stack=32K FILE $(cvs_srcdir)\*.obj,$(lib_dir)\*.obj, &
148        $(srcdir)\*.obj,$(zlib_dir)\*.obj &
149        LIBRARY $(tcpip_libdir)\tcp32dll.lib, &
150        $(tcpip_libdir)\so32dll.lib
151
152strip:  cvs.exe         .SYMBOLIC
153        -wstrip cvs.exe
154