3d504a637b496c0cfd6cb5afdbf5658c4f77836b
[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 # Supported devices
24 DEVS    =       18f242 \
25                 18f248 \
26                 18f252 \
27                 18f258 \
28                 18f442 \
29                 18f448 \
30                 18f452 \
31                 18f458 \
32                 18f1220 \
33                 18f2220 \
34                 18f6520 \
35                 18f6620 \
36                 18f6680 \
37                 18f6720 \
38                 18f8520 \
39                 18f8620 \
40                 18f8680 \
41                 18f8720
42
43
44 # pic16 port specific headers
45 PIC16_INCDIR    = $(INCDIR)/pic16
46
47 CFLAGS  = -I$(PIC16_INCDIR)
48
49 #COMPILE_FLAGS  = --pomit-config-words --pomit-ivt --denable-peeps --optimize-goto --obanksel=2
50 COMPILE_FLAGS   += $(MODELFLAGS) --nostdinc
51
52
53 CFILES  = $(patsubst %,pic%.c, $(DEVS))
54 OFILES  = $(patsubst %.c,%.o,$(CFILES))
55 LFILES  = $(patsubst %.c,%.lib,$(CFILES))
56
57 PFILE   = $(patsubst pic%.c,%,$<)
58 LFILE   = $(patsubst %.c,%.lib,$<)
59
60
61 .c.o:
62         $(CC) -p$(PFILE) $(CFLAGS) $(COMPILE_FLAGS) -c $<
63
64 %.lib: %.o
65         $(AR) -c $@ $<
66         
67 all: make-lib
68
69 make-lib: $(LFILES)
70         @$(MV) -v $(LFILES) ../bin
71         
72 $(LFILES): $(OFILES)
73
74 $(OFILES): $(CFILES)
75
76
77 clean-intermediate:
78         $(RM) -f *.lst *.asm *.dump*
79         
80 clean: clean-intermediate
81         $(RM) -f *.o
82
83 real-clean: clean
84         $(RM) -f .depend
85
86 dep .depend:
87         rm -f .depend
88         for temp in $(CFILES); do               \
89                 $(CPP) $(MM) $(CFLAGS) $$temp > .tmpdepend;     \
90                 $(SED) s/.rel/.o/g .tmpdepend >> .depend;       \
91                 $(RM) -f .tmpdepend;    \
92         done
93         
94 include .depend