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