* src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
[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) $(OPT_FLAGS)
25
26
27 CFLAGS  = -I$(LIBC_INC_DIR)
28
29 CFILES  = $(patsubst %,%.c,$(SRCS))
30 COFILES = $(patsubst %.c,%.o,$(CFILES))
31
32 ASFLAGS = -I$(LIBC_INC_DIR) -p18f452 -D__18F452
33
34 SFILES  = $(patsubst %,%.S,$(S_SRCS))
35 SOFILES = $(patsubst %.S,%.o,$(SFILES))
36
37 OFILES  = $(COFILES) $(SOFILES)
38
39 .c.o:
40         $(CC) $(CFLAGS) $(COMPILE_FLAGS) -c $<
41
42 .S.o:
43         $(AS) $(ASFLAGS) -c $<
44
45 all: build-library clean-intermediate-no-asm
46
47 clean-intermediate:
48         $(RM) -f *.lst *.asm *.dump* *.p *.d *.adb
49
50 clean-intermediate-no-asm:
51         $(RM) -f *.lst *.dump* *.p *.d *.adb
52
53
54 clean: clean-intermediate
55         $(RM) -f $(LIB) *.o
56
57 dep .depend:
58         rm -f .depend
59         for temp in $(CFILES); do \
60                 $(CPP) $(MM) $(CFLAGS) $$temp > .tmpdepend; \
61                 $(SED) s/.rel/.o/g .tmpdepend >> .depend; \
62                 $(RM) -f .tmpdepend; \
63         done;
64         if [ ! -e .depend ]; then touch .depend; fi;
65
66 include .depend