###############################################################################
#
# File:         makefile
# RCS:          $Header: $
# Description:  
# Author:       Darryl Okahata
# Created:      Sat Oct 15 23:59:02 1994
# Modified:     Fri Oct 28 00:12:24 1994 (darrylo@home) darrylo@hostigos
# Language:     N/A
# Package:      N/A
# Status:       Experimental
#
# (C) Copyright 1994, Darryl Okahata, all rights reserved.
#
###############################################################################


DEBUG=/DUSE_LOCAL_DIR_H /DMSTATS /DMSDOS

.BEFORE
	# This is for debugging:
	#set wcc386=/d2 $(DEBUG)
	# This is for generating optimized code:
	set wcc386=/oilrt/5r/fpi/fp5/zp4/oe=40 $(DEBUG)

# A2p's stack size:
A2P_STACKSIZE=256K


# Yacc flags
YFLAGS=-d
YACC=byacc

# Plain ol' CFLAGS
CFLAGS=

###############################################################################
# Nothing past this point should have to be changed
###############################################################################

# Use the protected-mode compiler, with signed chars:
# CC=wcl386 /p /j	# For WATCOM C/386 9.0 and earlier
CC=wcl386 /j

.c.obj:
	$(CC) /i=.. /i=..\msdos32 /c $(CFLAGS) $[*


OBJ	=	 hash.obj malloc.obj str.obj util.obj walk.obj


all:		a2p.exe .SYMBOLIC

a2p.exe:	$(OBJ) a2p.obj a2p.rsp \
		..\msdos32\doslib.lib ..\msdos32\dosargv.lib
	wlink @a2p.rsp

a2p.rsp:	makefile
	echo name a2p.exe > a2p.rsp
	echo debug all >> a2p.rsp
	echo option stack=$(A2P_STACKSIZE) >> a2p.rsp
	echo option map >> a2p.rsp
	echo sort global >> a2p.rsp
	echo option caseexact >> a2p.rsp
	echo option dosseg >> a2p.rsp
	echo system dos4g >> a2p.rsp
	echo file a2p.obj >> a2p.rsp
	for %f in ($(OBJ)) do echo file %f >> a2p.rsp
	echo library ..\msdos32\doslib.lib >> a2p.rsp
	echo library ..\msdos32\dosargv.lib >> a2p.rsp

a2p.c:		a2p.y
	@ echo Expect many shift/reduce and reduce/reduce conflicts...
	$(YACC) $(YFLAGS) a2p.y
	ren y_tab.c a2p.c

clean:	.SYMBOLIC
	del *.obj
	del *.err
	del *.map
	del *.rsp

###############################################################################
# DEPENDENCIES (DO NOT CHANGE THIS LINE OR ANYTHING PAST IT)
a2p.obj:	a2p.c INTERN.h a2p.h a2py.c ../patchlevel.h util.h
hash.obj:	hash.c EXTERN.h handy.h util.h a2p.h
malloc.obj:	malloc.c EXTERN.h ../perl.h
str.obj:	str.c handy.h EXTERN.h util.h a2p.h
util.obj:	util.c handy.h EXTERN.h a2p.h INTERN.h util.h
walk.obj:	walk.c handy.h EXTERN.h util.h a2p.h
a2p.h:	../config.h handy.h str.h hash.h
	wtouch a2p.h
extern.h:	
handy.h:	
hash.h:	
intern.h:	
str.h:	
util.h:	
y_tab.h:	
