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