CC=gcc LD=ld CFLAGS=-Wall -O2 -g -fPIC -D_GNU_SOURCE RRDD_OBJS= main.o process.o rrdtool.o parser.o built_in_parsers.o string.o \ debug.o config.o plugin_manager.o network_parser.o ONEWIRE_PARSER_OBJS = onewire_parser.o ALL_PARSERS = onewire_parser.so ALL_OBJS = $(RRDD_OBJS) $(ONEWIRE_PARSER_OBJS) ALL_DEBS = $(patsubst %.o,.%.o.d,$(ALL_OBJS)) ifeq ($(V),1) Q = QUIET_CC = QUIET_LINK = else Q = @ QUIET_CC = @echo " CC " $@; QUIET_LINK = @echo " LINK " $@; endif default: rrdd all: rrdd $(ALL_PARSERS) rrdd: $(RRDD_OBJS) $(QUIET_LINK)$(CC) -o rrdd $(RRDD_OBJS) -lconfig -ldl -rdynamic \ -lpthread onewire_parser.so: $(ONEWIRE_PARSER_OBJS) $(QUIET_LINK)$(CC) $(CFLAGS) -lownet -shared -fPIC $< -o $@ clean: rm -vf rrdd *~ *.o .*.d *.so .version version.h .compiler_check* %.o: %.c .compiler_check $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@ $(Q)cp .$@.d .$@.P; \ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ -e '/^$$/ d' -e 's/$$/ :/' < .$@.d >> .$@.P; \ mv .$@.P .$@.d version.h .compiler_check: FORCE $(Q)./mkcompile_h "$(CC) $(CFLAGS)" FORCE: TAGS: @echo -e "\tTAGS\t" @etags *.[ch] .PHONY: all clean TAGS -include $(ALL_DEBS)