e2be970ccba9e1271a59d9688d7ec500d35df227
[fw/sdcc] / device / lib / hc08 / Makefile.in
1 # libc/hc08 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 -mhc08
12 SAS = $(TOPDIR)/bin/as6808
13
14 PORTDIR = ../build/hc08
15
16 include $(srcdir)/../incl.mk
17
18 HC08_FLOAT = $(COMMON_FLOAT)
19
20 HC08_INT = $(COMMON_INT) \
21   _divsint.c \
22   _modsint.c \
23   _moduint.c
24
25 HC08_LONG = $(COMMON_LONG)
26
27 HC08_SDCC = $(COMMON_SDCC) \
28   _itoa.c \
29   _ltoa.c \
30   _spx.c \
31   _startup.c \
32   _strlen.c \
33   _memmove.c \
34   _heap.c \
35   sprintf.c \
36   vprintf.c
37
38 HC08SOURCES = $(addprefix ../,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
39 HC08OBJECTS = $(patsubst %.c,%.rel,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
40
41 OBJ = _ret.rel _divuint.rel _divulong.rel _mulint.rel _mullong.rel
42
43 LIB = hc08.lib
44 CC = $(SCC)
45 AS = $(SAS)
46 ASFLAGS = -plosgff
47
48 CFLAGS = -I$(srcdir)/../../include -I. --std-c99
49
50 all: $(PORTDIR)/$(LIB)
51
52 $(PORTDIR)/$(LIB): $(OBJ) $(HC08OBJECTS) Makefile
53 ifeq ($(LIB_TYPE), SDCCLIB)
54         rm -f $@; \
55         ../../../bin/sdcclib -a $@ $(OBJ) $(HC08OBJECTS)
56 else ifeq ($(LIB_TYPE), AR)
57         ar -Scq $@ $(OBJ) $(HC08OBJECTS)
58 else ifeq ($(LIB_TYPE), RANLIB)
59         ar -Scq $@ $(OBJ) $(HC08OBJECTS)
60         $(top_builddir)/bin/asranlib $@
61 else
62         rm -f $@
63         for i in $(basename $(OBJ) $(HC08OBJECTS)); do echo $$i >>$@; done
64         cp $(OBJ) $(HC08OBJECTS) $(PORTDIR)
65 endif
66
67 %.rel: %.c
68         $(CC) $(CFLAGS) -c $<
69
70 %.rel: ../%.c
71         $(CC) $(CFLAGS) -c $<
72
73 clean:
74         rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
75
76 distclean: clean
77         rm -f Makefile