-
Notifications
You must be signed in to change notification settings - Fork 20
/
makefile.ow
175 lines (157 loc) · 3.33 KB
/
makefile.ow
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# simple open watcom makefile for os/2 and dos clients
# default mode is os/2. to build dos, run "wmake dos=1"
# client source tree may be anywhere (use "." for current dir)
base = ..\client_head
# enable/disable projects
RC5_72 = 1
OGR_P2 = 0
OGR_NG = 1
!ifdef dos
os_cpp = $(base)\plat\dos
os_inc = $(base);fake_dos
output = dnetcdos.com
os_obj = obj_dos\
os_as =
os_cc = -bt=DOS -d__MSDOS__ -dDYN_TIMESLICE
os_prelink = system pmodew
os_link = opt stack=64k
OS_MODULES = &
cdoscon.obj &
cdosemu.obj &
cdosidle.obj &
cdostime.obj
!else
# it's possible to build with external tcp/ip toolkit and older watcom.
# disable this for latest OW.
mpts = Q:\WC\H\MPTN
mpts_lib = F:\MPTN\LIB
output = dnetc.exe
os_cpp = $(base)\plat\os2
os_inc = $(base)\plat\os2;$(mpts)
os_obj = obj_os2\
os_as =
os_cc = -bt=OS2 -bm -dLURK=1
os_prelink = deb all system os2v2
os_link = lib $(mpts_lib)\so32dll,$(mpts_lib)\tcp32dll import DOSQPROCSTATUS DOSCALLS.154 opt symf
OS_MODULES = &
lurk.obj &
os2inst.obj
!endif
.cpp: .;$(base)\common;$(base)\plat\x86;$(base)\rc5-72;$(base)\rc5-72\ansi;$(base)\ogr\x86;$(base)\ogr\ansi;$(os_cpp)
.obj: $(os_obj)
.asm: $(base)\plat\x86;$(base)\rc5-72\x86;$(base)\ogr\x86
inc = .;$(base)\common;$(base)\rc5-72;$(base)\ogr;$(base)\plat\x86;$(os_inc)
cc = wpp386 -d1 -w8 -zc -zm -fo=$(os_obj) -s -zp1 -i=$(inc) -zq $(os_cc)
link = wlink $(os_prelink) file {$<} name $@ opt case,map,elim $(os_link) option descr 'distributed.net client'
!if $(RC5_72)
!inject -dHAVE_RC5_72_CORES=1 cc
!endif
!if $(OGR_P2)
!inject -dHAVE_OGR_PASS2=1 cc
!endif
!if $(OGR_NG)
!inject -dHAVE_OGR_CORES=1 cc
!endif
COMMON = &
base64.obj &
bench.obj &
buffbase.obj &
buffpriv.obj &
buffupd.obj &
checkpt.obj &
clicdata.obj &
client.obj &
clievent.obj &
cliident.obj &
clirun.obj &
clitime.obj &
cmdline.obj &
confmenu.obj &
confopt.obj &
confrwv.obj &
coremem.obj &
cpucheck.obj &
console.obj &
disphelp.obj &
iniread.obj &
logstuff.obj &
mail.obj &
modereq.obj &
netbase.obj &
netconn.obj &
pathwork.obj &
pollsys.obj &
probfill.obj &
problem.obj &
probman.obj &
projdata.obj &
random.obj &
scram.obj &
selcore.obj &
selftest.obj &
setprio.obj &
stress.obj &
triggers.obj &
util.obj &
&
x86id.obj &
x86cpuid.obj &
x86htcount.obj &
x86rdtsc.obj &
&
!if $(OGR_NG) || $(OGR_P2)
ogr_sup.obj &
!endif
!if $(OGR_NG)
core_ogr_ng.obj &
ogrng_init.obj &
ogrng_dat.obj &
&
ogrng-32.obj &
ogrng-a.obj &
ogrng-a-asm-rt.obj&
ogrng-b.obj &
ogrng-b-asm-rt.obj&
!endif
!if $(OGR_P2)
core_ogr.obj &
ogr-a.obj &
ogr-b.obj &
ogr-c.obj &
ogr-d.obj &
ogr-e.obj &
ogr_dat.obj &
&
ogr-asm1-rt.obj &
ogr-asm2-rt-mmx.obj&
ogr-asm2-rt-mmx-amd.obj&
!endif
!if $(RC5_72)
core_r72.obj &
&
r72-dg2.obj &
r72-dg3.obj &
r72-dg3a.obj &
r72-go2.obj &
r72-go2a.obj &
r72-ses1.obj &
r72-ses2.obj &
r72-sgp3.obj &
r72-ss2.obj &
r72-ma4.obj &
r72-mmx.obj &
!endif
$(output): $(COMMON) $(OS_MODULES) # footrace.obj
$(link)
.cpp.obj: .AUTODEPEND
@echo Compile: $<
$(cc) -os $<
ogr-a.obj: ogr-a.cpp .AUTODEPEND
$(cc) -oltb $<
ogr-b.obj: ogr-b.cpp .AUTODEPEND
$(cc) -oltb $<
ogrng-32.obj: ogrng-32.cpp .AUTODEPEND
$(cc) -oltb $<
.asm.obj: .AUTODEPEND
@echo Assembly: $<
@nasm $(os_as) -f obj -O5 -D__OMF__ -s -o $(os_obj)$^. -l foo.lst $[@