Makefile: Add logutils.h to logutils.o and showlog.o dependencies
[nagios-reports-module.git] / Makefile
blob48fdcfd105207194a0c73062403b1af38d494f50
1 CC = gcc
2 CPPFLAGS = -I.
3 CFLAGS = $(OPTFLAGS) -Wall -ggdb3 -fPIC
4 #OPTFLAGS = -O2 -pipe
5 DSOLDFLAGS = -shared $(SQL_LDFLAGS) -fPIC -ggdb3
6 SQL_LDFLAGS = -L/usr/lib/mysql -L/usr/lib64/mysql -lmysqlclient
7 TESTLDFLAGS = -ldl -rdynamic -Wl,-export-dynamic
8 OBJS = module.o hooks.o cfgfile.o logging.o sql.o utils.o hash.o mm.o
9 TEST_OBJS = test_utils.o utils.o hash.o mm.o
10 APP_OBJS = $(TEST_OBJS) cfgfile.o $(LOGDEPS)
11 DEPS = Makefile module.h cfgfile.h utils.h
12 LOGDEPS = lparse.o logutils.o hash.o
13 DSO = ndbneb.so
14 TESTPROG = nebtest
15 CONFIG_FILE = db.conf
16 DESTDIR = /tmp/ndbneb
17 ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
19 ifndef V
20 QUIET_CC = @echo ' ' CC $@;
21 QUIET_LINK = @echo ' ' LINK $@;
22 endif
24 all: $(DSO) $(TESTPROG) import showlog test__lparse
26 install: all
27 @echo "Installing to $(DESTDIR)"
28 @test -d $(DESTDIR) || mkdir -m 755 -p $(DESTDIR)
29 @cp -a scripts import showlog $(DSO) $(TESTPROG) $(DESTDIR)
30 @cp -a db.conf $(DESTDIR)/ndbneb.conf
31 @cp -a *.php $(DESTDIR)
32 @chmod 755 $(DESTDIR)/*
33 @chmod 644 $(DESTDIR)/ndbneb.conf $(DESTDIR)/scripts/*
35 test__lparse: test-lparse
36 @./test-lparse
38 test-lparse: test-lparse.o $(LOGDEPS)
39 $(QUIET_LINK)$(CC) $(TESTLDFLAGS) $^ -o $@
41 $(DSO): $(OBJS)
42 $(QUIET_LINK)$(CC) $(DSOLDFLAGS) $^ -o $@
44 $(TESTPROG): $(TESTPROG).o $(TEST_OBJS)
45 $(QUIET_LINK)$(CC) $(TESTLDFLAGS) $^ -o $@
47 showlog: showlog.o $(APP_OBJS) auth.o
48 $(QUIET_LINK)$(CC) $(SQL_LDFLAGS) -ggdb3 $^ -o $@
50 import: import.o $(APP_OBJS) sql.o hooks.o logging.o
51 $(QUIET_LINK)$(CC) $(SQL_LDFLAGS) -ggdb3 $^ -o $@
53 test: mod $(TESTPROG) $(CONFIG_FILE)
54 ./$(TESTPROG) -f $(CONFIG_FILE) $(DSO)
56 mod: $(DSO)
58 %.o: %.c
59 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
61 %.so: %.c
62 @echo "CC $@"
63 @$(CC) $(CFLAGS) $(DSOLDFLAGS) $^ -o $@
65 clean:
66 rm -f core core.* *.{o,so,out,log}
67 rm -f $(TESTPROG) import showlog test-lparse
69 #'^[^.%][A-Za-z0-9_]*:'
70 help:
71 @echo Available make targets:
72 @echo -----------------------
73 @$(MAKE) --print-data-base --question | sed -n -e '/^Makefile/d' -e 's/^\([A-Za-z0-9_]*\):.*/\1/p'
75 ## PHONY targets
76 .PHONY: clean help
78 # dependencies
79 $(TESTPROG).o: $(TESTPROG).c $(DEPS)
80 test-lparse.o: test-lparse.c logutils.h
81 showlog.o: lparse.h logutils.h showlog.c Makefile
82 logutils.o: logutils.h Makefile
83 lparse.o: lparse.c lparse.h Makefile
84 import.o: lparse.h import.c hooks.h sql.h logging.h Makefile logutils.h
85 logging.o: logging.c logging.h $(DEPS)
86 cfgfile.o: cfgfile.c cfgfile.h
87 sql.o: sql.c sql.h $(DEPS)
88 hash.o: hash.c hash.h
89 hooks.o: hooks.c sql.h hooks.h $(DEPS)
90 module.o: module.c hooks.h $(DEPS)
91 utils.o: utils.c utils.h