* device/lib/Makefile.in, device/lib/ds390/Makefile.in,
[fw/sdcc] / device / lib / mcs51 / Makefile.in
1 VPATH  = @srcdir@
2 srcdir = @srcdir@
3
4 top_srcdir   = @top_srcdir@
5 top_builddir = @top_builddir@
6
7 LIB_TYPE     = @LIB_TYPE@
8 SAS = $(top_builddir)/bin/asx8051
9 SCC = $(top_builddir)/bin/sdcc
10
11 # override PORTDIR defined by super (parent) makefile
12 override PORTDIR = ../build/$(PORT)
13
14 OBJ = crtstart.rel crtxinit.rel crtxclear.rel crtclear.rel crtxstack.rel \
15       crtpagesfr.rel crtbank.rel crtcall.rel
16
17 LIB = mcs51.lib
18
19 CC = $(SCC)
20 AS = $(SAS)
21 ASFLAGS = -plosgff
22
23 CFLAGS = -I$(top_srcdir)/include --std-c89
24
25 all: $(PORTDIR)/$(LIB)
26
27 $(PORTDIR)/$(LIB): $(OBJ) Makefile
28 ifeq ($(LIB_TYPE), SDCCLIB)
29         rm -f $@; \
30         ../../../bin/sdcclib -a $@ $(OBJ)
31 else ifeq ($(LIB_TYPE), AR)
32         ar -Scq $@ $(OBJ)
33 else ifeq ($(LIB_TYPE), RANLIB)
34         ar -Scq $@ $(OBJ)
35         $(top_builddir)/bin/asranlib $@
36 else
37         rm -f $@
38         for i in $(basename $(OBJ)); do echo $$i >>$@; done
39         cp $(OBJ) $(PORTDIR)
40 endif
41
42 %.rel: %.c
43         $(CC) $(CFLAGS) -c $<
44
45 %.rel: %.asm
46         @# TODO: asx8051 should place it's output in the current dir
47         test $(srcdir) = . || cp $< .
48         -$(AS) $(ASFLAGS) $(notdir $<)
49         test $(srcdir) = . || rm $(notdir $<)
50
51 clean:
52         rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.lib
53
54 distclean: clean
55         rm -r Makefile