summaryrefslogtreecommitdiff
path: root/libc/bcc/Makefile
blob: 4f52133a5f6c33c03d83e97a57b5ff76fd211a6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
# This file is part of the Linux-8086 C library and is distributed
# under the GNU Library General Public License.

TOP=..
include $(TOP)/Make.defs

# Support for integer arithmetic 
IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o
ISRC=bcc_int.c

# Support for long arithmetic on little-endian (normal) longs 
LSRC=bcc_long.c
LOBJ=__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

# Memory allocation primitives
AOBJ=errno.o __brk_addr.o sbrk.o brk.o
ASRC=heap.c

# Support for long arithmetic on big-endian (words-swapped) longs 
RSRC=bcc_bsw.c
ROBJ=__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

# Miscellaneous I/O and far access junk 
PSRC=bcc_io.c
POBJ=__inport.o __inportb.o __outport.o __outportb.o __peekb.o __peekw.o \
     __pokeb.o __pokew.o

OBJ=__ldivmod.o $(IOBJ) $(LOBJ) $(AOBJ)
OLDOBJ=$(ROBJ) $(POBJ)

all: $(OBJ)

$(IOBJ): $(ISRC)
	$(CC) $(CFLAGS) -c -DL_$* -o $@ $(ISRC)

$(LOBJ): $(LSRC)
	$(CC) $(CFLAGS) -c -DL_$* -o $@ $(LSRC)

$(AOBJ): $(ASRC)
	$(CC) $(CFLAGS) -c -DL_$* -o $@ $(ASRC)

$(ROBJ): $(RSRC)
	$(CC) $(CFLAGS) -c -DL_$* -o $@ $(RSRC)

$(POBJ): $(PSRC)
	$(CC) $(CFLAGS) -c -DL_$* -o $@ $(PSRC)

libc.a: $(OBJ)
	ar r ../$(LIBC) $(OBJ)
	@touch libc.a

clean:
	rm -f *.o libc.a