* src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
[fw/sdcc] / device / lib / pic16 / libsdcc / Makefile.rules
1 #
2 # Makefile.rules - Common Makefile rules to build pic16
3 #                  support libraries
4 #
5 # This file is part of the GNU PIC Library.
6 #
7 # January, 2004
8 # The GNU PIC Library is maintained by,
9 #       Vangelis Rokas <vrokas@otenet.gr>
10 #
11 # $Id$
12 #
13 #
14
15
16 include ../../Makefile.common
17
18 PRJDIR  = ../../../../..
19
20 LIBC_INC_DIR    = $(PRJDIR)/device/include/pic16
21
22 DEBUG   =
23
24 OPT_FLAGS       += --optimize-cmp
25 #OPT_FLAGS      += --stack-auto
26 COMPILE_FLAGS   += $(MODELFLAGS) $(OPT_FLAGS) $(DEBUG)
27
28 CFLAGS  = --nostdinc -I$(LIBC_INC_DIR)
29
30 CFILES  = $(patsubst %,%.c,$(SRCS))
31 COFILES = $(patsubst %.c,%.o,$(CFILES))
32
33 SFILES  = $(patsubst %,%.S,$(AS_SRCS))
34 SOFILES = $(patsubst %.S,%.o,$(SFILES))
35
36 OFILES  = $(COFILES) $(SOFILES)
37
38 %.o: %.c
39         $(CC) $(CFLAGS) $(COMPILE_FLAGS) -c $<
40
41 .S.o:
42         $(AS) -I $(LIBC_INC_DIR) -c $<
43
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 clean: clean-intermediate
54         $(RM) -f $(LIB) *.o
55
56 dep .depend:
57         rm -f .depend
58         for temp in $(CFILES); do \
59                 $(CPP) $(MM) $(CFLAGS) $$temp > .tmpdepend; \
60                 $(SED) s/.rel/.o/g .tmpdepend >> .depend; \
61                 $(RM) -f .tmpdepend; \
62         done;
63         if [ ! -e .depend ]; then touch .depend ; fi ;
64 include .depend