4.4BSD/usr/src/contrib/perl-4.036/msdos/Makefile

#
# Makefile for compiling Perl under MS-DOS
#
# 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.  But who would do serious development under
# MS-DOS?
#
# By Diomidis Spinellis, March 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 msdos.c popen.c directory.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 msdos.obj popen.obj \
directory.obj

# Files in the MS-DOS distribution
DOSFILES=config.h dir.h director.c glob.c makefile msdos.c popen.c readme.msd \
changes.dds wishlist.dds patches manifest

# Yacc flags
YFLAGS=-d

# Manual pages
MAN=perlman.1 perlman.2 perlman.3 perlman.4

CC=cc
# Cflags for the files that break under the optimiser
CPLAIN=-AL -DCRIPPLED_CC
# Cflags for all the rest
CFLAGS=$(CPLAIN) -Ox
# Destination directory for executables
DESTDIR=\usr\bin

# Deliverables
all: perl.exe perl.1 glob.exe

perl.exe: $(OBJ)
	echo array+cmd+cons+consarg+doarg+doio+dolist+dump+ >perl.arp
	echo eval+form+hash+perl+perly+regcomp+regexec+ >>perl.arp
	echo stab+str+toke+util+msdos+popen+directory+\lib\setargv >>perl.arp
	echo perl.exe >>perl.arp
	echo nul >>perl.arp
	echo /stack:32767 /NOE >>perl.arp
	link @perl.arp

glob.exe: glob.c
	$(CC) glob.c \lib\setargv.obj -link /NOE

array.obj: 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
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
str.obj: str.c
toke.obj: toke.c
util.obj: util.c
	$(CC) $(CPLAIN) -c util.c
perly.h: perl.obj
	mv ytab.h perly.h
directory.obj: directory.c
popen.obj: popen.c
msdos.obj: msdos.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) ../msdos