+#
+# Bacula Makefile for the File daemon
+#
+# Copyright (C) 2000-2016 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
@MCOMMON@
srcdir = .
VPATH = .
.PATH: .
+fd_group=@fd_group@
+
# one up
basedir = ..
# top dir
DEBUG=@DEBUG@
+GETTEXT_LIBS = @LIBINTL@
+
+AFS_CFLAGS = @AFS_CFLAGS@
+AFS_LIBS = @AFS_LIBS@
+
first_rule: all
dummy:
#
-SVRSRCS = filed.c authenticate.c backup.c estimate.c \
- filed_conf.c job.c \
- restore.c status.c verify.c verify_vol.c
-SVROBJS = filed.o authenticate.o backup.o estimate.o \
- filed_conf.o job.o \
- restore.o status.o verify.o verify_vol.o
+SVRSRCS = filed.c authenticate.c backup.c crypto.c \
+ estimate.c \
+ fd_plugins.c accurate.c \
+ filed_conf.c heartbeat.c hello.c job.c fd_snapshot.c \
+ restore.c status.c verify.c verify_vol.c \
+ xacl.c xacl_linux.c xacl_osx.c xacl_solaris.c xacl_freebsd.c
+SVROBJS = $(SVRSRCS:.c=.o)
+
+JSONOBJS = bfdjson.o filed_conf.o
# these are the objects that are changed by the .configure process
EXTRAOBJS = @OBJLIST@
+CAP_LIBS = @CAP_LIBS@
FDLIBS = @FDLIBS@ # extra libs for File daemon
-
-# extra items for linking on Win32
-WIN32OBJS = win32/winmain.o win32/winlib.a win32/winres.res
-win32 = $(WIN32OBJS) -luser32 -lgdi32
-
-WIN32LIBS = $(@WIN32@)
+ZLIBS = @ZLIBS@
+LZO_LIBS = @LZO_LIBS@
+LZO_INC= @LZO_INC@
.SUFFIXES: .c .o
.PHONY:
# inference rules
.c.o:
- $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(LZO_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
#-------------------------------------------------------------------------
-all: Makefile @WIN32@ bacula-fd
+all: Makefile bacula-fd @STATIC_FD@ bfdjson
@echo "==== Make of filed is good ===="
@echo " "
-win32/winlib.a:
- (cd win32; $(MAKE))
- @rm -f bacula-fd.exe
-
-win32/winmain.o:
- (cd win32; $(MAKE))
- @rm -f bacula-fd.exe
+xacl.o: xacl.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(LZO_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $(AFS_CFLAGS) $<
-win32/winres.res:
- (cd win32; $(MAKE))
- @rm -f bacula-fd.exe
+bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Linking $@ ..."
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \
+ $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
-# win32 libraries if needed
-win32: $(WIN32OBJS)
- (cd win32; $(MAKE))
- @rm -f bacula-fd.exe
+bfdjson: Makefile $(JSONOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) @WIN32@
+ @echo "Linking $@ ..."
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(JSONOBJS) \
+ $(WIN32LIBS) $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
-bacula-fd: $(SVROBJS) ../findlib/libfind.a ../lib/libbac.a @WIN32@
- $(CXX) $(LDFLAGS) $(FD_LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \
- $(WIN32LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) $(DLIB)
+static-bacula-fd: Makefile $(SVROBJS) ../findlib/libbacfind.a ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -L../findlib -o $@ $(SVROBJS) \
+ $(FDLIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) \
+ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS) $(AFS_LIBS) $(LZO_LIBS)
+ strip $@
Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
cd $(topdir) \
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-clean:
+libtool-clean:
+ @$(RMF) -r .libs _libs
+
+clean: libtool-clean
@$(RMF) bacula-fd filed core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
- if test -f win32/Makefile; then \
- (cd win32; $(MAKE) clean); \
- fi
+ @$(RMF) static-bacula-fd
realclean: clean
@$(RMF) tags bacula-fd.conf
distclean: realclean
if test $(srcdir) = .; then $(MAKE) realclean; fi
(cd $(srcdir); $(RMF) Makefile)
- if test -f win32/Makefile; then \
- (cd win32; $(MAKE) distclean); \
- fi
+
+devclean: realclean
+ if test $(srcdir) = .; then $(MAKE) realclean; fi
+ (cd $(srcdir); $(RMF) Makefile)
install: all
- $(INSTALL_PROGRAM) bacula-fd $(DESTDIR)$(sbindir)/bacula-fd
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-fd $(DESTDIR)$(sbindir)/bacula-fd
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bfdjson $(DESTDIR)$(sbindir)/bfdjson
@srcconf=bacula-fd.conf; \
if test -f ${DESTDIR}${sysconfdir}/$$srcconf; then \
destconf=$$srcconf.new; \
else \
destconf=$$srcconf; \
fi; \
- echo "${INSTALL_DATA} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
- ${INSTALL_DATA} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
+ echo "${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
+ ${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
+ @if test "x${fd_group}" != "x" -a "x${DESTDIR}" = "x" ; then \
+ chgrp -f ${fd_group} ${DESTDIR}${sysconfdir}/$$destconf ; \
+ fi
+ @if test -f static-bacula-fd; then \
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) static-bacula-fd $(DESTDIR)$(sbindir)/static-bacula-fd; \
+ fi
uninstall:
- (cd $(DESTDIR)$(sbindir); $(RMF) bacula-fd)
- (cd $(DESTDIR)$(sbindir); $(RMF) bacula-fd.conf)
-
-
+ (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-fd.conf bfdjson)
+ (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-fd.conf.new)
# Semi-automatic generation of dependencies:
# Use gcc -MM because X11 `makedepend' doesn't work on all systems
@$(MV) Makefile Makefile.bak
@$(SED) "/^# DO NOT DELETE:/,$$ d" Makefile.bak > Makefile
@$(ECHO) "# DO NOT DELETE: nice dependency list follows" >> Makefile
- @$(CC) -S -M $(CPPFLAGS) $(XINC) -I$(srcdir) -I$(basedir) $(SQL_INC) *.c >> Makefile
+ @$(CXX) -S -M $(CPPFLAGS) $(XINC) $(LZO_INC) -I$(srcdir) -I$(basedir) *.c >> Makefile
@if test -f Makefile ; then \
$(RMF) Makefile.bak; \
else \
$(MV) Makefile.bak Makefile; \
- echo -e "Something went wrong\n\a"; \
+ echo " ===== Something went wrong in make depend ====="; \
fi
# -----------------------------------------------------------------------