2 # Bacula Makefile for the File daemon
4 # Copyright (C) 2000-2016 Kern Sibbald
5 # License: BSD 2-Clause; see file LICENSE-FOSS
19 # this dir relative to top dir
24 GETTEXT_LIBS = @LIBINTL@
26 AFS_CFLAGS = @AFS_CFLAGS@
33 SVRSRCS = filed.c authenticate.c backup.c crypto.c \
34 win_efs.c estimate.c \
35 fd_plugins.c accurate.c \
36 filed_conf.c heartbeat.c hello.c job.c fd_snapshot.c \
37 restore.c status.c verify.c verify_vol.c \
38 bacl.c bacl_linux.c bacl_osx.c bacl_solaris.c bacl_freebsd.c \
39 bxattr.c bxattr_linux.c bxattr_osx.c bxattr_solaris.c bxattr_freebsd.c
40 SVROBJS = $(SVRSRCS:.c=.o)
42 JSONOBJS = bfdjson.o filed_conf.o
44 # these are the objects that are changed by the .configure process
48 FDLIBS = @FDLIBS@ # extra libs for File daemon
53 # extra items for linking on Win32
54 WIN32OBJS = win32/winmain.o win32/winlib.a win32/winres.res
55 win32 = $(WIN32OBJS) -luser32 -lgdi32
57 WIN32LIBS = $(@WIN32@)
66 $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(LZO_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
67 #-------------------------------------------------------------------------
68 all: Makefile @WIN32@ bacula-fd @STATIC_FD@ bfdjson
69 @echo "==== Make of filed is good ===="
74 $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(LZO_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $(AFS_CFLAGS) $<
77 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
78 (cd win32; $(GMAKE) DESTDIR=$(DESTDIR)); \
83 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
84 (cd win32; $(GMAKE) DESTDIR=$(DESTDIR)); \
89 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
90 (cd win32; $(GMAKE) DESTDIR=$(DESTDIR)); \
94 # win32 libraries if needed
96 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
97 (cd win32; $(GMAKE) DESTDIR=$(DESTDIR)); \
101 bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
102 @echo "Linking $@ ..."
103 $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \
104 $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
105 $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
107 bfdjson: Makefile $(JSONOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
108 @echo "Linking $@ ..."
109 $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(JSONOBJS) \
110 $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
111 $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
113 static-bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind.a ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
114 $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -L../findlib -o $@ $(SVROBJS) \
115 $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
116 $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
119 Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
121 && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
124 @$(RMF) -r .libs _libs
127 @$(RMF) bacula-fd filed core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
128 @$(RMF) static-bacula-fd
129 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
130 (cd win32; $(GMAKE) clean); \
134 @$(RMF) tags bacula-fd.conf
137 if test $(srcdir) = .; then $(MAKE) realclean; fi
138 (cd $(srcdir); $(RMF) Makefile)
139 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
140 (cd win32; $(GMAKE) distclean); \
144 if test $(srcdir) = .; then $(MAKE) realclean; fi
145 (cd $(srcdir); $(RMF) Makefile)
146 @if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
147 (cd win32; $(GMAKE) devclean); \
151 $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-fd $(DESTDIR)$(sbindir)/bacula-fd
152 $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bfdjson $(DESTDIR)$(sbindir)/bfdjson
153 @srcconf=bacula-fd.conf; \
154 if test -f ${DESTDIR}${sysconfdir}/$$srcconf; then \
155 destconf=$$srcconf.new; \
156 echo " ==> Found existing $$srcconf, installing new conf file as $$destconf"; \
158 destconf=$$srcconf; \
160 echo "${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
161 ${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
162 @if test "x${fd_group}" != "x" -a "x${DESTDIR}" = "x" ; then \
163 chgrp -f ${fd_group} ${DESTDIR}${sysconfdir}/$$destconf ; \
165 @if test -f static-bacula-fd; then \
166 $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) static-bacula-fd $(DESTDIR)$(sbindir)/static-bacula-fd; \
170 (cd $(DESTDIR)$(sbindir); $(RMF) bacula-fd bfdjson)
171 (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-fd.conf)
172 (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-fd.conf.new)
174 # Semi-automatic generation of dependencies:
175 # Use gcc -MM because X11 `makedepend' doesn't work on all systems
176 # and it also includes system headers.
177 # `semi'-automatic since dependencies are generated at distribution time.
180 @$(MV) Makefile Makefile.bak
181 @$(SED) "/^# DO NOT DELETE:/,$$ d" Makefile.bak > Makefile
182 @$(ECHO) "# DO NOT DELETE: nice dependency list follows" >> Makefile
183 @$(CXX) -S -M $(CPPFLAGS) $(XINC) $(LZO_INC) -I$(srcdir) -I$(basedir) *.c >> Makefile
184 @if test -f Makefile ; then \
185 $(RMF) Makefile.bak; \
187 $(MV) Makefile.bak Makefile; \
188 echo " ===== Something went wrong in make depend ====="; \
191 # -----------------------------------------------------------------------
192 # DO NOT DELETE: nice dependency list follows