1# Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk> 2# This file is part of the Linux-8086 C library and is distributed 3# under the GNU Library General Public License. 4 5# Support for integer arithmetic 6ifeq ($(LIB_CPU),i86) 7IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o 8ISRC=bcc_int.c 9endif 10 11# Support for integer arithmetic when compiling for the i386 12ifeq ($(LIB_CPU),i386) 13ISRC=bcc_i386.c 14IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o \ 15 __divsi3.o 16endif 17 18# Support for long arithmetic on little-endian (normal) longs 19LSRC=bcc_long.c 20LOBJ=__laddl.o __landl.o __lcmpl.o __lcoml.o __ldecl.o __ldivl.o __ldivul.o \ 21 __leorl.o __lincl.o __lmodl.o __lmodul.o __lmull.o __lnegl.o __lorl.o \ 22 __lsll.o __lsrl.o __lsrul.o __lsubl.o __ltstl.o 23 24# Memory allocation primitives 25AOBJ=errno.o __brk_addr.o sbrk.o brk.o 26ASRC=heap.c 27 28# Support for long arithmetic on big-endian (words-swapped) longs 29RSRC=bcc_bsw.c 30ROBJ=__laddb.o __landb.o __lcmpb.o __lcomb.o __ldecb.o __ldivb.o __ldivub.o \ 31 __leorb.o __lincb.o __lmodb.o __lmodub.o __lmulb.o __lnegb.o __lorb.o \ 32 __lslb.o __lsrb.o __lsrub.o __lsubb.o __ltstb.o 33 34# Miscellaneous I/O and far access junk 35PSRC=bcc_io.c 36POBJ=__inport.o __inportb.o __outport.o __outportb.o __peekb.o __peekw.o \ 37 __pokeb.o __pokew.o 38 39ifeq ($(LIB_CPU),i86) 40OBJ=__ldivmod.o $(IOBJ) $(LOBJ) $(AOBJ) 41endif 42ifeq ($(LIB_CPU),i386) 43OBJ=$(IOBJ) $(AOBJ) 44endif 45 46OLDOBJ=$(ROBJ) $(POBJ) 47 48CFLAGS=-pipe -O2 -fno-strict-aliasing $(ARCH) $(CCFLAGS) $(DEFS) 49 50ifneq ($(OBJ),) 51 52all: $(LIBC) 53 @$(RM) $(OBJ) 54 55$(LIBC): $(LIBC)($(OBJ)) 56 57$(LIBC)($(IOBJ)): $(ISRC) 58 $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o 59 $(AR) $(ARFLAGS) $@ $*.o 60 61$(LIBC)($(LOBJ)): $(LSRC) 62 $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o 63 $(AR) $(ARFLAGS) $@ $*.o 64 65$(LIBC)($(AOBJ)): $(ASRC) 66 $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o 67 $(AR) $(ARFLAGS) $@ $*.o 68 69$(LIBC)($(ROBJ)): $(RSRC) 70 $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o 71 $(AR) $(ARFLAGS) $@ $*.o 72 73$(LIBC)($(POBJ)): $(PSRC) 74 $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o 75 $(AR) $(ARFLAGS) $@ $*.o 76else 77all: 78 @: 79endif 80 81clean: 82 rm -f *.o libc.a 83