]> git.itanic.dy.fi Git - rrdd/blob - Makefile
Makefile: Adjust default targets
[rrdd] / Makefile
1 CC=gcc
2 LD=ld
3 CFLAGS=-Wall -O2 -g -fPIC
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
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
32 onewire_parser.so: $(ONEWIRE_PARSER_OBJS)
33         $(QUIET_LINK)$(CC) $(CFLAGS) -lownet -shared -fPIC $< -o $@
34
35 clean:
36         rm -vf rrdd *~ *.o .*.d *.so .version version.h .compiler_check*
37
38 %.o: %.c .compiler_check
39         $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
40         $(Q)cp .$@.d .$@.P; \
41             sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
42                 -e '/^$$/ d' -e 's/$$/ :/' < .$@.d >> .$@.P; \
43             mv .$@.P .$@.d
44
45 version.h .compiler_check: FORCE
46         $(Q)./mkcompile_h "$(CC) $(CFLAGS)"
47
48 FORCE:
49
50
51 TAGS:
52         @echo -e "\tTAGS\t"
53         @etags *.[ch]
54
55 .PHONY: all clean TAGS
56
57 -include $(ALL_DEBS)