* device/include/pic18f{2550,4331,4455,4520}.h: NEW
[fw/sdcc] / device / lib / pic16 / libdev / Makefile
1 #
2 # Makefile  - Makefile to build device libraries
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 include ../Makefile.common
15
16 # The SDCC project directory
17 PRJDIR  = ../../../..
18
19 # headers directory
20 INCDIR  = $(PRJDIR)/device/include
21
22
23 # MCUs to build
24 MCUS    = $(shell cat ../pics.build)
25
26 # Supported devices
27 DEVS    = $(patsubst    %,18f%,$(MCUS))
28
29 #DEVS   =       18f242 \
30 #               18f248 \
31 #               18f252 \
32 #               18f258 \
33 #               18f442 \
34 #               18f448 \
35 #               18f452 \
36 #               18f458 \
37 #               18f1220 \
38 #               18f2220 \
39 #               18f6520 \
40 #               18f6620 \
41 #               18f6680 \
42 #               18f6720 \
43 #               18f8520 \
44 #               18f8620 \
45 #               18f8680 \
46 #               18f8720
47
48
49 # pic16 port specific headers
50 PIC16_INCDIR    = $(INCDIR)/pic16
51
52 CFLAGS  = -I$(PIC16_INCDIR)
53
54 #COMPILE_FLAGS  = --pomit-config-words --pomit-ivt --denable-peeps --optimize-goto --obanksel=2
55 COMPILE_FLAGS   += $(MODELFLAGS) --nostdinc
56
57
58 CFILES  = $(patsubst %,pic%.c, $(DEVS))
59 OFILES  = $(patsubst %.c,%.o,$(CFILES))
60 LFILES  = $(patsubst %.c,%.lib,$(CFILES))
61
62 PFILE   = $(patsubst pic%.c,%,$<)
63 LFILE   = $(patsubst %.c,%.lib,$<)
64
65
66 .c.o:
67         $(CC) -p$(PFILE) $(CFLAGS) $(COMPILE_FLAGS) -c $<
68
69 %.lib: %.o
70         $(AR) -c $@ $<
71         
72 all: make-lib
73
74 make-lib: $(LFILES) clean-intermediate-no-asm
75         @$(MV) -v $(LFILES) ../bin
76         
77 $(LFILES): $(OFILES)
78
79 $(OFILES): $(CFILES)
80
81
82 clean-intermediate:
83         $(RM) -f *.lst *.asm *.dump*
84
85 clean-intermediate-no-asm:
86         $(RM) -f *.lst *.dump*
87         
88 clean: clean-intermediate
89         $(RM) -f *.o
90
91 real-clean: clean
92         $(RM) -f .depend
93
94 dep .depend:
95         rm -f .depend
96         for temp in $(CFILES); do               \
97                 $(CPP) $(MM) $(CFLAGS) $$temp > .tmpdepend;     \
98                 $(SED) s/.rel/.o/g .tmpdepend >> .depend;       \
99                 $(RM) -f .tmpdepend;    \
100         done
101         
102 include .depend