2 # Copyright (C) 2000-2015, Kern Sibbald
3 # License: BSD 2-Clause
5 # Bacula Tools Makefile
17 # this dir relative to top dir
29 GETTEXT_LIBS = @LIBINTL@
31 FINDOBJS = testfind.o ../dird/dird_conf.o ../dird/inc_conf.o ../dird/ua_acl.o ../dird/run_conf.o
33 # these are the objects that are changed by the .configure process
36 DIRCONFOBJS = ../dird/dird_conf.o ../dird/ua_acl.o ../dird/run_conf.o ../dird/inc_conf.o
39 DIRTOOLS = bsmtp dbcheck drivetype fstype testfind testls bregex bwild bbatch bregtest bvfs_test bpluginfo timelimit
40 TOOLS = $(@DIR_TOOLS@)
43 INSDIRTOOLS = bsmtp dbcheck bwild bregex bpluginfo
44 INSTOOLS = $(INS@DIR_TOOLS@)
53 $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
54 #-------------------------------------------------------------------------
55 all: Makefile $(TOOLS) gigaslam grow
56 @echo "==== Make of tools is good ===="
59 bsmtp: Makefile bsmtp.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
60 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -o $@ bsmtp.o -lbac -lm $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
62 bregtest: Makefile bregtest.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
63 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -o $@ bregtest.o -lbac -lm $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
65 dbcheck: Makefile dbcheck.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
66 ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE) $(DIRCONFOBJS)
67 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -L../cats -o $@ dbcheck.o $(DIRCONFOBJS) \
68 -lbaccats -lbacsql -lbaccfg -lbac -lm $(DB_LIBS) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
70 fstype: Makefile fstype.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE)
71 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -L../findlib -o $@ fstype.o -lbacfind -lbac -lm \
72 $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
74 drivetype: Makefile drivetype.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE)
75 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -L../findlib -o $@ drivetype.o -lbacfind -lbac -lm \
76 $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
78 dird_conf.o: ../dird/dird_conf.c
79 $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
81 ua_acl.o: ../dird/ua_acl.c
82 $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
84 run_conf.o: ../dird/run_conf.c
85 $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
87 inc_conf.o: ../dird/inc_conf.c
88 $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
90 timelimit: timelimit.o
91 ${CC} ${DEFS} ${DEBUG} -DHAVE_ERRNO_H -DHAVE_SETITIMER -DHAVE_SIGACTION -c timelimit.c
92 ${CC} -o timelimit timelimit.o
94 testfind: Makefile ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
95 ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) $(FINDOBJS)
96 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -o $@ $(FINDOBJS) -L. -L../lib -L../findlib \
97 $(DLIB) -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
99 testls: Makefile ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) testls.o
100 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L. -L../lib -L../findlib -o $@ testls.o \
101 $(DLIB) -lbacfind -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
103 bregex: Makefile ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) bregex.o
104 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L. -L../lib -o $@ bregex.o \
105 $(DLIB) -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
107 bwild: Makefile ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) bwild.o
108 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L. -L../lib -o $@ bwild.o \
109 $(DLIB) -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
111 bbatch: Makefile ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) \
112 ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE) bbatch.o
113 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L../cats -L. -L../lib -o $@ bbatch.o \
114 -lbaccats -lbacsql -lbac -lm $(DB_LIBS) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
116 bvfs_test: Makefile ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) \
117 ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE) bvfs_test.o
118 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L../cats -L. -L../lib -L../findlib -o $@ bvfs_test.o \
119 -lbaccats -lbacsql -lbacfind -lbac -lm $(DB_LIBS) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
121 cats_test.o: cats_test.c
123 $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
125 cats_test: Makefile ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) cats_test.o
126 $(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -L../cats -L. -L../lib -L../findlib -o $@ cats_test.o \
127 -lbaccats -lbacsql -lbacfind -lbac -lm $(DB_LIBS) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
129 gigaslam.o: gigaslam.c
130 $(CXX) $(CFLAGS) -c $<
133 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -o $@ gigaslam.o
135 grow: Makefile grow.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
136 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -o $@ grow.o -lbac -lm $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
138 bpluginfo.o: bpluginfo.c
139 $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) -I../filed -I../dird -I../stored $(DINCLUDE) $(CFLAGS) $<
141 bpluginfo: Makefile bpluginfo.o
142 $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -o $@ bpluginfo.o -lbac $(DLIB) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
144 Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
146 && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
149 @$(RMF) -r .libs _libs
152 @$(RMF) bsmtp core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
159 if test $(srcdir) = .; then $(MAKE) realclean; fi
160 (cd $(srcdir); $(RMF) Makefile)
163 if test $(srcdir) = .; then $(MAKE) realclean; fi
164 (cd $(srcdir); $(RMF) Makefile)
167 @for tool in ${TOOLS} ; do \
168 $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) $$tool $(DESTDIR)$(sbindir)/$$tool ; \
170 chmod 755 $(DESTDIR)$(sbindir)/bsmtp
172 # Allow non-root execution of bsmtp for non-root Directors
174 @for tool in ${INSTOOLS} ; do \
175 $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) $$tool $(DESTDIR)$(sbindir)/$$tool ; \
177 chmod 755 $(DESTDIR)$(sbindir)/bsmtp
180 @for tool in ${INSTOOLS} ; do \
181 $(RMF) $(DESTDIR)$(sbindir)/$$tool ; \
186 # Semi-automatic generation of dependencies:
187 # Use gcc -MM because X11 `makedepend' doesn't work on all systems
188 # and it also includes system headers.
189 # `semi'-automatic since dependencies are generated at distribution time.
192 @$(MV) Makefile Makefile.bak
193 @$(SED) "/^# DO NOT DELETE:/,$$ d" Makefile.bak > Makefile
194 @$(ECHO) "# DO NOT DELETE: nice dependency list follows" >> Makefile
195 @$(CXX) -S -M $(CPPFLAGS) -I$(srcdir) -I$(basedir) *.c >> Makefile
196 @if test -f Makefile ; then \
197 $(RMF) Makefile.bak; \
199 $(MV) Makefile.bak Makefile; \
200 echo " ===== Something went wrong in make depend ====="; \
203 # -----------------------------------------------------------------------
204 # DO NOT DELETE: nice dependency list follows