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
|
#
# Makefile for compiling Perl under OS/2
#
# Needs a Unix compatible make.
# This makefile works for an initial compilation. It does not
# include all dependencies and thus is unsuitable for serious
# development work. Hey, I'm just inheriting what Diomidis gave me.
#
# Originally by Diomidis Spinellis, March 1990
# Adjusted for OS/2 port by Raymond Chen, June 1990
#
# Source files
SRC = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c \
eval.c form.c hash.c perl.y perly.c regcomp.c regexec.c \
stab.c str.c toke.c util.c os2.c popen.c director.c suffix.c mktemp.c
# Object files
OBJ = perl.obj array.obj cmd.obj cons.obj consarg.obj doarg.obj doio.obj \
dolist.obj dump.obj eval.obj form.obj hash.obj perly.obj regcomp.obj \
regexec.obj stab.obj str.obj toke.obj util.obj os2.obj popen.obj \
director.obj suffix.obj mktemp.obj
# Files in the OS/2 distribution
DOSFILES=config.h director.c dir.h makefile os2.c popen.c suffix.c \
mktemp.c readme.os2
# Yacc flags
YFLAGS=-d
# Manual pages
MAN=perlman.1 perlman.2 perlman.3 perlman.4
CC=cl
# CBASE = flags everybody gets
# CPLAIN = flags for modules that give the compiler indigestion
# CFLAGS = flags for milder modules
# PERL = which version of perl to build
#
# For preliminary building: No optimization, DEBUGGING set, symbols included.
#CBASE=-AL -Zi -G2 -Gs -DDEBUGGING
#CPLAIN=$(CBASE) -Od
#CFLAGS=$(CBASE) -Od
#PERL=perlsym.exe
# For the final build: Optimization on, symbols stripped.
CBASE=-AL -Zi -G2 -Gs -DDEBUGGING
CPLAIN=$(CBASE) -Olt
CFLAGS=$(CBASE) -Oeglt
PERL=perl.exe
# Destination directory for executables
DESTDIR=\usr\bin
# Deliverables
#
all: $(PERL) glob.exe
perl.exe: $(OBJ) perl.arp
link @perl.arp,perl,nul,/stack:32767 /NOE;
exehdr /nologo /newfiles /pmtype:windowcompat perl.exe >nul
perlsym.exe: $(OBJ) perl.arp
link @perl.arp,perlsym,nul,/stack:32767 /NOE /CODE;
exehdr /nologo /newfiles /pmtype:windowcompat perlsym.exe >nul
perl.arp:
echo array+cmd+cons+consarg+doarg+doio+dolist+dump+ >perl.arp
echo eval+form+hash+perl+perly+regcomp+regexec+stab+suffix+ >>perl.arp
echo str+toke+util+os2+popen+director+\c600\lib\setargv >>perl.arp
glob.exe: glob.c
$(CC) glob.c setargv.obj -link /NOE
exehdr /nologo /newfiles /pmtype:windowcompat glob.exe >nul
array.obj: array.c
$(CC) $(CPLAIN) -c array.c
cmd.obj: cmd.c
cons.obj: cons.c perly.h
consarg.obj: consarg.c
# $(CC) $(CPLAIN) -c consarg.c
doarg.obj: doarg.c
doio.obj: doio.c
dolist.obj: dolist.c
dump.obj: dump.c
eval.obj: eval.c evalargs.xc
$(CC) /B2c2l /B3c3l $(CFLAGS) -c eval.c
form.obj: form.c
hash.obj: hash.c
perl.obj: perl.y
perly.obj: perly.c
regcomp.obj: regcomp.c
regexec.obj: regexec.c
stab.obj: stab.c
$(CC) $(CPLAIN) -c stab.c
str.obj: str.c
suffix.obj: suffix.c
toke.obj: toke.c
$(CC) /B3c3l $(CFLAGS) -c toke.c
util.obj: util.c
# $(CC) $(CPLAIN) -c util.c
perly.h: ytab.h
cp ytab.h perly.h
director.obj: director.c
popen.obj: popen.c
os2.obj: os2.c
perl.1: $(MAN)
nroff -man $(MAN) >perl.1
install: all
exepack perl.exe $(DESTDIR)\perl.exe
exepack glob.exe $(DESTDIR)\glob.exe
clean:
rm -f *.obj *.exe perl.1 perly.h perl.arp
tags:
ctags *.c *.h *.xc
dosperl:
mv $(DOSFILES) ../perl30.new
doskit:
mv $(DOSFILES) ../os2
|