]> git.itanic.dy.fi Git - rrdd/blob - Makefile
onewire_parser.c: Fix compiler warnings about string lengths
[rrdd] / Makefile
1 CC=gcc
2 LD=ld
3 CFLAGS=-Wall -O2 -g -fPIC -D_GNU_SOURCE
4
5 RRDD_OBJS= main.o process.o rrdtool.o parser.o built_in_parsers.o string.o \
6                 debug.o config.o plugin_manager.o network_parser.o
7
8 ONEWIRE_PARSER_OBJS = onewire_parser.o
9
10 ALL_PARSERS = onewire_parser.so
11
12 ALL_OBJS = $(RRDD_OBJS) $(ONEWIRE_PARSER_OBJS)
13 ALL_DEBS = $(patsubst %.o,.%.o.d,$(ALL_OBJS))
14
15 ifeq ($(V),1)
16         Q               =
17         QUIET_CC        =
18         QUIET_LINK      =
19 else
20         Q               = @
21         QUIET_CC        = @echo "       CC " $@;
22         QUIET_LINK      = @echo "     LINK " $@;
23 endif
24
25 default: rrdd
26
27 all: rrdd $(ALL_PARSERS)
28
29 rrdd: $(RRDD_OBJS)
30         $(QUIET_LINK)$(CC) -o rrdd $(RRDD_OBJS) -lconfig -ldl -rdynamic \
31                 -lpthread
32
33 onewire_parser.so: $(ONEWIRE_PARSER_OBJS)
34         $(QUIET_LINK)$(CC) $(CFLAGS) -lownet -shared -fPIC $< -o $@
35
36 clean:
37         rm -vf rrdd *~ *.o .*.d *.so .version version.h .compiler_check*
38
39 %.o: %.c .compiler_check
40         $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
41         $(Q)cp .$@.d .$@.P; \
42             sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
43                 -e '/^$$/ d' -e 's/$$/ :/' < .$@.d >> .$@.P; \
44             mv .$@.P .$@.d
45
46 version.h .compiler_check: FORCE
47         $(Q)./mkcompile_h "$(CC) $(CFLAGS)"
48
49 FORCE:
50
51
52 TAGS:
53         @echo -e "\tTAGS\t"
54         @etags *.[ch]
55
56 .PHONY: all clean TAGS
57
58 -include $(ALL_DEBS)