#
# The Pacific toolchain - compiler, linker, librarian, EXE generator
#
CC     = pacc
LINK   = hlink
LIBR   = libr
OBJ2EXE = objtoexe
#
# C flags: Small model
#
CFLAGS = -Bs -Iinclude
#
# Magic Incantation for the linker, copied from output of PACC -V
#
LDFLAGS = -z -lm -p_TEXT,text,CODE=0/,LDATA=0/,LBSS=0/,NVRAM=0/,data=0/,bss,stack=0/

SAMPLE_OBJS=cpmcrt-s.obj sample.obj cpm86-s.lib
ZIP1=lib/makefile include/cpm.h include/bdos.h cpmcrt-s.as copying.lib 
ZIP2=lib/bdos.as lib/getuid.c readme.txt exe2cmd.c sample.c makefile

all:	sample.cmd 

zip:	pacc_cpm.zip

pacc_cpm.zip: $(ZIP1) $(ZIP2)
	pkzip -rP $@ $(ZIP1)
	pkzip -rP $@ $(ZIP2)

sample.cmd:	sample.exe exe2cmd.exe
	exe2cmd sample.exe sample.cmd

sample.exe:	$(SAMPLE_OBJS)
	$(LINK) $(LDFLAGS) -otmp.obj $(SAMPLE_OBJS)
	$(OBJ2EXE) -e -lDos_hdr tmp.obj $@
	erase tmp.obj

lib/cpm86-s.lib:
	cd lib
	make
	cd ..

cpm86-s.lib:	lib/cpm86-s.lib	
	copy lib\\cpm86-s.lib .

%.obj:	%.c
	$(CC) $(CFLAGS) -c $<

%.obj:	%.as
	$(CC) $(CFLAGS) -c $<

$(PACCMODS):	86--dsc.lib
	$(LIBR) x $< $@


exe2cmd.exe:	exe2cmd.c
	pacc -Bs $<

