Makefile 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. # Support for integer arithmetic
  5. ifeq ($(LIB_CPU),i86)
  6. IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o
  7. ISRC=bcc_int.c
  8. endif
  9. # Support for integer arithmetic when compiling for the i386
  10. ifeq ($(LIB_CPU),i386)
  11. ISRC=bcc_i386.c
  12. IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o \
  13. __divsi3.o
  14. endif
  15. # Support for long arithmetic on little-endian (normal) longs
  16. LSRC=bcc_long.c
  17. LOBJ=__laddl.o __landl.o __lcmpl.o __lcoml.o __ldecl.o __ldivl.o __ldivul.o \
  18. __leorl.o __lincl.o __lmodl.o __lmodul.o __lmull.o __lnegl.o __lorl.o \
  19. __lsll.o __lsrl.o __lsrul.o __lsubl.o __ltstl.o
  20. # Memory allocation primitives
  21. AOBJ=errno.o __brk_addr.o sbrk.o brk.o
  22. ASRC=heap.c
  23. # Support for long arithmetic on big-endian (words-swapped) longs
  24. RSRC=bcc_bsw.c
  25. ROBJ=__laddb.o __landb.o __lcmpb.o __lcomb.o __ldecb.o __ldivb.o __ldivub.o \
  26. __leorb.o __lincb.o __lmodb.o __lmodub.o __lmulb.o __lnegb.o __lorb.o \
  27. __lslb.o __lsrb.o __lsrub.o __lsubb.o __ltstb.o
  28. # Miscellaneous I/O and far access junk
  29. PSRC=bcc_io.c
  30. POBJ=__inport.o __inportb.o __outport.o __outportb.o __peekb.o __peekw.o \
  31. __pokeb.o __pokew.o
  32. ifeq ($(LIB_CPU),i86)
  33. OBJ=__ldivmod.o $(IOBJ) $(LOBJ) $(AOBJ)
  34. endif
  35. ifeq ($(LIB_CPU),i386)
  36. OBJ=$(IOBJ) $(AOBJ)
  37. endif
  38. OLDOBJ=$(ROBJ) $(POBJ)
  39. CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)
  40. ifneq ($(OBJ),)
  41. all: $(LIBC)
  42. @$(RM) $(OBJ)
  43. $(LIBC): $(LIBC)($(OBJ))
  44. $(LIBC)($(IOBJ)): $(ISRC)
  45. $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
  46. $(AR) $(ARFLAGS) $@ $*.o
  47. $(LIBC)($(LOBJ)): $(LSRC)
  48. $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
  49. $(AR) $(ARFLAGS) $@ $*.o
  50. $(LIBC)($(AOBJ)): $(ASRC)
  51. $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
  52. $(AR) $(ARFLAGS) $@ $*.o
  53. $(LIBC)($(ROBJ)): $(RSRC)
  54. $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
  55. $(AR) $(ARFLAGS) $@ $*.o
  56. $(LIBC)($(POBJ)): $(PSRC)
  57. $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
  58. $(AR) $(ARFLAGS) $@ $*.o
  59. else
  60. all:
  61. @:
  62. endif
  63. clean:
  64. rm -f *.o libc.a