78e04f11f6d1a884ad5f471aa83f39b41c069944
[fw/sdcc] / device / lib / pic16 / libc / Makefile.rules
1 #
2 # Makefile.rules - Common Makefile rules to build pic16 C Library
3 #
4 # This file is part of the GNU PIC Library.
5 #
6 # January, 2004
7 # The GNU PIC Library is maintained by,
8 #       Vangelis Rokas <vrokas@otenet.gr>
9 #
10 # $Id$
11 #
12 #
13
14
15 include ../../Makefile.common
16
17 PRJDIR  = ../../../../..
18
19 LIBC_INC_DIR    = $(PRJDIR)/device/include/pic16
20
21 #OPT_FLAGS      += --pstack-model=large
22 #OPT_FLAGS      += --stack-auto
23
24 COMPILE_FLAGS   += $(MODELFLAGS)
25 COMPILE_FLAGS   += $(OPT_FLAGS)
26 COMPILE_FLAGS   += $(CSTD)
27
28
29 CFLAGS  = -I$(LIBC_INC_DIR)
30
31 CFILES  = $(patsubst %,%.c,$(SRCS))
32 COFILES = $(patsubst %.c,%.o,$(CFILES))
33
34 ASFLAGS = -I$(LIBC_INC_DIR) -p18f452 -D__18F452
35
36 SFILES  = $(patsubst %,%.S,$(S_SRCS))
37 SOFILES = $(patsubst %.S,%.o,$(SFILES))
38
39 OFILES  = $(COFILES) $(SOFILES)
40
41 .c.o:
42         $(CC) $(CFLAGS) $(COMPILE_FLAGS) -c $<
43
44 .S.o:
45         $(AS) $(ASFLAGS) -c $<
46
47 all: build-library clean-intermediate-no-asm
48
49 clean-intermediate:
50         $(RM) -f *.lst *.asm *.dump* *.p *.d *.adb
51
52 clean-intermediate-no-asm:
53         $(RM) -f *.lst *.dump* *.p *.d *.adb
54
55
56 clean: clean-intermediate
57         $(RM) -f $(LIB) *.o
58
59 dep .depend:
60         rm -f .depend
61         for temp in $(CFILES); do \
62                 $(CPP) $(MM) $(CFLAGS) $$temp > .tmpdepend; \
63                 $(SED) s/.rel/.o/g .tmpdepend >> .depend; \
64                 $(RM) -f .tmpdepend; \
65         done;
66         if [ ! -e .depend ]; then touch .depend; fi;
67
68 include .depend