######################################################################
# Makefile to build Shell 5.10L under Lattice C 5.10
#NOTE: char's are UNSIGNED by default, and the executable's called 'zsh'
# primitive version, even LMK should be able to cope with this

GSTFILE = cshell.gst
FLAGS   = OPTTIME NOSTKCHK NODEBUG STRMERGE PARMS=REG UNSCHAR MCCONS
OPTIM   =
DEST    = zsh
#OPTIM  = OPTIMIZE
OBJS    = run.o main.o comm1.o comm2.o comm3.o execom.o set.o sub.o globals.o rawcon.o
CC      = sc

# OPTSIZE   = short code optimize      NOSTKCHK  = no stack overflow check
# NODEBUG   = no debug info            UNSCHAR   = unsigned chars by default
# STRMERGE  = one copy per string      CPU=68030 = code for 68030
# GST=...   = read precompiled header  NOOBJNAME MAKEGST=... = write precompiled header
# PARMS=REG = register arguments       ND        = strip debug information

# added [AMK]:
# MCCONS    = allow multi-char const   OPTTIME   = optimize time

zsh: $(OBJS)
	slink FROM lib:cres.o $(OBJS) LIB lib:scm.lib lib:sc.lib TO $(DEST) NOICONS ND
#	slink FROM lib:cres.o $(OBJS) LIB lib:lcr.lib TO $(DEST) NOICONS ND

$(GSTFILE): shell.h proto.h
	@avail flush
	$(CC) UNSCHAR NOOBJNAME MAKEGST=$(GSTFILE) syms.c

comm1.o: comm1.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) comm1.c
comm2.o: comm2.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) comm2.c
comm3.o: comm3.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) comm3.c
execom.o: execom.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) execom.c
globals.o: globals.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) globals.c
main.o: main.c $(GSTFILE)
	$(CC) $(FLAGS) GST=$(GSTFILE) main.c
rawcon.o: rawcon.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) rawcon.c
run.o: run.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) run.c
set.o: set.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) set.c
sub.o: sub.c $(GSTFILE)
	$(CC) $(FLAGS) $(OPTIM) GST=$(GSTFILE) sub.c

install:
	@echo "Installing Cshell ..."
	@copy $(DEST) csh:csh clone

clean:
	@echo "Cleaning up working directory ..."
	@delete $(GSTFILE) $(OBJS) $(DEST) quiet >nil:
	@avail flush

beta:
	@echo "Making beta version ..."
	@xdel betacsh.lha >nil:
	lha -a -r -x a betacsh.lha csh:csh csh:csh.doc History.Txt

rel:
	@echo "Making release version ..."
	@xdel csh.lha cshs.lha >nil:
	lha -a -r -x a csh.lha csh:csh csh:csh.doc History.Txt\
		csh:csh-reference.guide csh:README csh:HISTORY\
		"amigaguide/*" .DisplayMe csh:demo.sh csh:menu.sh\
		csh:overview.doc csh:feedback.doc csh:tips.doc\
		csh:class.sh
	lha -a -r -x a cshs.lha comm1.c comm2.c comm3.c execom.c\
		globals.c hypdoc.c main.c rawcon.c run.c set.c\
		sub.c syms.c proto.h shell.h technotes.doc smakefile
#	lha -a -r -x a cshs.lha *.c *.h technotes.doc smakefile

