#
# Makefile for the nascent C library
#
# The toolchain...
#
CC     = pacc
CFLAGS = -I../include
LIBR   = libr
#
# LIBMODS  are CP/M-86 specific, built from source.
# PACCMODs are machine-independent, extracted from the existing Pacific 
# library. The lines are broken up like this to keep the DOS command line
# short.
#
LIBMOD1   = getuid.obj bdos.obj

PACCMOD1  = acos.obj     asin.obj     atan2.obj     atan.obj   atof.obj
PACCMOD2  = blkclr.obj   bmove.obj    bsearch.obj   calloc.obj ceil.obj
PACCMOD3  = cosh.obj     exp87.obj    fabs.obj      abs.obj    labs.obj
PACCMOD4  = atol.obj     log87.obj    memcmp.obj    memchr.obj memmove.obj
PACCMOD5  = modf.obj     pow87.obj    pow2.obj      qsort.obj  rand.obj
PACCMOD6  = sinh.obj     sqrt.obj     sscanf.obj    argc.obj 
PACCMOD7  = 
PACCMOD8  = strcmp.obj   strdup.obj   stristr.obj 
PACCMOD9  = strnicmp.obj strichr.obj  strcpy.obj 
PACCMOD10 = strrichr.obj stricmp.obj  strncat.obj 
PACCMOD11 = strncpy.obj  strpbrk.obj  strncmp.obj
PACCMOD12 = strrchr.obj  strstr.obj   strtok.obj 
PACCMOD13 = strcspn.obj  strspn.obj   sin.obj
PACCMOD14 = swap.obj     intrpt.obj   memset-s.obj toupper.obj  doprnt.obj
PACCMOD15 = tan.obj      cos.obj      cos87.obj    vprintf.obj  vscanf.obj
PACCMOD16 = sin87.obj    tan87.obj    tanh.obj     vsprintf.obj vsscanf.obj
PACCMOD17 = exp.obj      floor.obj    frndint.obj  atoi.obj  
PACCMOD18 = log.obj      evalpoly.obj float.obj    strchr.obj   strlen-s.obj
PACCMOD19 = fperror.obj  frexp.obj    no8087.obj   std-div.obj  std-ldiv.obj
PACCMOD20 = ldiv.obj     lmul.obj     xtoi.obj     ctype_.obj   critflag.obj 
PACCMOD21 = tolower.obj  fakecln.obj  endprof.obj  rotate-s.obj sound.obj    
PACCMOD22 = int86-s.obj  intr-s.obj   fmemst-s.obj fmemcp-s.obj


PACCMODS = $(PACCMOD1) $(PACCMOD2)  $(PACCMOD3)  $(PACCMOD4)  $(PACCMOD5)  \
          $(PACCMOD6) $(PACCMOD7)   $(PACCMOD8)  $(PACCMOD9)  $(PACCMOD10) \
          $(PACCMOD11) $(PACCMOD12) $(PACCMOD13) $(PACCMOD14) $(PACCMOD15) \
          $(PACCMOD16) $(PACCMOD17) $(PACCMOD18) $(PACCMOD19) $(PACCMOD20) \
          $(PACCMOD21) $(PACCMOD22)

LIBMODS = $(LIBMOD1)


all:	cpm86-s.lib


cpm86-s.lib:	$(LIBMODS) $(PACCMODS)
	$(LIBR) r $@ $(LIBMOD1)
	$(LIBR) r $@ $(PACCMOD8)
	$(LIBR) r $@ $(PACCMOD9)
	$(LIBR) r $@ $(PACCMOD10)
	$(LIBR) r $@ $(PACCMOD11)
	$(LIBR) r $@ $(PACCMOD12)
	$(LIBR) r $@ $(PACCMOD13)
	$(LIBR) r $@ $(PACCMOD14)
	$(LIBR) r $@ $(PACCMOD15)
	$(LIBR) r $@ $(PACCMOD16)
	$(LIBR) r $@ $(PACCMOD17)
	$(LIBR) r $@ $(PACCMOD18)
	$(LIBR) r $@ $(PACCMOD19)
	$(LIBR) r $@ $(PACCMOD20)
	$(LIBR) r $@ $(PACCMOD21)

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

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

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



