* device/lib/Makefile.in, device/lib/ds390/Makefile.in,
[fw/sdcc] / device / lib / z80 / Makefile.in
1 # libc/z80 Makefile
2
3 VPATH  = @srcdir@
4 srcdir = @srcdir@
5 top_builddir = @top_builddir@
6
7 LIB_TYPE     = @LIB_TYPE@
8
9 TOPDIR = ../../..
10
11 SCC = $(TOPDIR)/bin/sdcc -mz80
12 SAS = $(TOPDIR)/bin/as-z80
13
14 # override PORTDIR defined by super (parent) makefile
15 override PORTDIR = ../build/z80
16
17 include $(srcdir)/../incl.mk
18
19 Z80_FLOAT = $(COMMON_FLOAT)
20
21 Z80_INT = $(COMMON_INT)
22
23 Z80_LONG = $(COMMON_LONG) \
24   _divulong.c \
25   _mullong.c
26
27 Z80_SDCC = $(COMMON_SDCC) \
28   _itoa.c \
29   _ltoa.c \
30   _startup.c \
31   sprintf.c \
32   vprintf.c
33
34 Z80SOURCES = $(addprefix ../,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
35 Z8OBJECTS = $(patsubst %.c,%.o,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
36
37 OBJ = div.o divsigned.o mod.o modsigned.o mul.o mulchar.o putchar.o shift.o stubs.o crt0_rle.o heap.o fstubs.o memmove.o strlen.o
38
39 LIB = z80.lib
40 CC = $(SCC)
41 AS = $(SAS)
42 ASFLAGS = -plosgff
43
44 CFLAGS = -I$(srcdir)/../../include -I. --std-c99
45
46 all: $(PORTDIR)/$(LIB) $(PORTDIR)/crt0.o
47
48 $(PORTDIR)/crt0.o: crt0.o
49         cp crt0.o $(PORTDIR)/crt0.o
50
51 $(PORTDIR)/$(LIB): $(OBJ) $(Z8OBJECTS) Makefile
52 ifeq ($(LIB_TYPE), SDCCLIB)
53         rm -f $@; \
54         ../../../bin/sdcclib -a $@ $(OBJ) $(Z8OBJECTS)
55 else ifeq ($(LIB_TYPE), AR)
56         ar -Scq $@ $(OBJ) $(Z8OBJECTS)
57 else ifeq ($(LIB_TYPE), RANLIB)
58         ar -Scq $@ $(OBJ) $(Z8OBJECTS)
59         $(top_builddir)/bin/asranlib $@
60 else
61         rm -f $@; \
62         for i in $(basename $(OBJ) $(Z8OBJECTS)); do echo $$i >>$@; done
63         cp $(OBJ) $(Z8OBJECTS) $(PORTDIR)
64 endif
65
66 %.o: %.c
67         $(CC) $(CFLAGS) -c $<
68
69 %.o: %.s
70         $(AS) $(ASFLAGS) $@ $<
71
72 %.o: ../%.c
73         $(CC) $(CFLAGS) -c $<
74
75 clean:
76         rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
77
78 distclean: clean
79         rm -f Makefile