# Makefile for bcc library - 8086 assembler routines

AS		=bcc -0 -c
LIBDIR		=/usr/local/lib/i86
LIBOBJS		=$(FOBJS) $(IOBJS) $(LLOBJS) $(LXOBJS) $(MOBJS)

# compiler non-support for floating point arithmetic
FOBJS		=dummy.o

# compiler support for integer arithmetic
IOBJS		=idiv.o idivu.o imod.o imodu.o imul.o isl.o isr.o isru.o

# miscellaneous obsolete junk
JOBJS		=inport.o inportb.o outport.o outportb.o \
		 peekb.o peekw.o pokeb.o pokew.o

# compiler support for long arithmetic on big-endian (words-swapped) longs
LBOBJS		=laddb.o landb.o lcmpb.o lcomb.o ldecb.o ldivb.o ldivub.o \
		 leorb.o lincb.o lmodb.o lmodub.o lmulb.o lnegb.o lorb.o \
		 lslb.o lsrb.o lsrub.o lsubb.o ltstb.o

# compiler support for long arithmetic on little-endian (normal) longs
LLOBJS		=laddl.o landl.o lcmpl.o lcoml.o ldecl.o ldivl.o ldivul.o \
		 leorl.o lincl.o lmodl.o lmodul.o lmull.o lnegl.o lorl.o \
		 lsll.o lsrl.o lsrul.o lsubl.o ltstl.o

# compiler support for long arithmetic on all longs
LXOBJS		=ldivmod.o

# Minix library routines
MOBJS		=brksize.o catchsig.o sendrec.o setjmp.o

# Minix startup routines
SOBJS		=crtso.o head.o

default: $(LIBOBJS) $(SOBJS)

clean:
	rm -f $(LIBOBJS) $(SOBJS)

install: $(LIBOBJS) $(SOBJS)
	ar r $(LIBDIR)/libc.a $(LIBOBJS)
	cp $(SOBJS) $(LIBDIR)
