# # Bacula Makefile for the File daemon # # Version $Id$ # # autoconf/Make.common.in -*- Makefile -*- # release date (man), LSM date, version number/name, current maintainer DATE="15 Apr 2004" LSMDATE=15Apr04 VERSION=1.35.0 VERNAME=bacula-$(VERSION)# MAINT=Kern Sibbald# MAINTEMAIL=# WEBMAINT=# WEBMAINTEMAIL=# WEBPAGE=# FTPSITENAME=# FTPSITEDIR=# #------------------------------------------------------------------------- SHELL = /bin/sh # Installation target directories & other installation stuff prefix = exec_prefix = binprefix = manprefix = sbindir = /sbin sysconfdir = /etc/bacula scriptdir = /etc/bacula mandir = ${prefix}/man/man1 manext = 1 # Tools & program stuff CC = gcc CPP = gcc -E CXX = g++ MV = /usr/bin/mv RM = /usr/bin/rm RMF = /usr/bin/rm -f CP = /usr/bin/cp SED = /usr/bin/sed AWK = /usr/bin/awk ECHO = /usr/bin/echo CMP = /usr/bin/cmp TBL = /usr/bin/tbl AR = /usr/bin/ar RANLIB = /usr/bin/ranlib INSTALL = /usr/bin/install -c # add the -s to the following in PRODUCTION mode INSTALL_PROGRAM = /usr/bin/install -c -m 754 INSTALL_DATA = /usr/bin/install -c -m 644 INSTALL_SCRIPT = /usr/bin/install -c -m 754 INSTALL_CONFIG = /usr/bin/install -c -m 640 # Flags & libs CFLAGS = -g -O2 CPPFLAGS = LDFLAGS = -O TTOOL_LDFLAGS = DEFS = -DHAVE_WIN32 -DHAVE_MINGW LIBS = -lpthreadGC -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool \ -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32 \ -lmsvcrt DINCLUDE = DLIB = DB_LIBS = # Windows (cygwin) flags WCFLAGS = -mwindows WLDFLAGS = -mwindows -Wl,--subsystem,windows -mthreads # X Include directory #XINC = @XPM_CFLAGS@ # extra libraries needed by X on some systems, X library location #XLIB = @XPM_LIBS@ -lX11 # End of common section of the Makefile #------------------------------------------------------------------------- srcdir = . VPATH = . .PATH: . # one up basedir = .. # top dir topdir = ../.. # this dir relative to top dir thisdir = src/filed DEBUG= first_rule: all dummy: # SVRSRCS = filed.c authenticate.c backup.c estimate.c \ filed_conf.c heartbeat.c job.c \ restore.c status.c verify.c verify_vol.c SVROBJS = filed.o authenticate.o backup.o estimate.o \ filed_conf.o heartbeat.o job.o \ restore.o status.o verify.o verify_vol.o # these are the objects that are changed by the .configure process EXTRAOBJS = FDLIBS = -lz # extra libs for File daemon # extra items for linking on Win32 WIN32OBJS = win32/winmain.o win32/winlib.a win32/winres.res win32 = $(WIN32OBJS) WIN32LIBS = $(win32) .SUFFIXES: .c .o .PHONY: .DONTCARE: # inference rules .c.o: $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) -I../win32/compat $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: win32 bacula-fd @echo "==== Make of filed is good ====" @echo " " win32/winlib.a: (cd win32; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe win32/winmain.o: (cd win32; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe win32/winres.res: (cd win32; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe # win32 libraries if needed win32: $(WIN32OBJS) (cd win32; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe bacula-fd: $(SVROBJS) ../findlib/libfind.a ../lib/libbac.a win32 $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \ $(WIN32LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) $(DLIB) static-bacula-fd: $(SVROBJS) ../findlib/libfind.a ../lib/libbac.a win32 $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -L../findlib -o $@ $(SVROBJS) \ $(WIN32LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) $(DLIB) strip $@ ../findlib/libfind.a: ../findlib/*.c (cd ../findlib/; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe ../lib/libbac.a: ../lib/*.c* (cd ../lib/; $(MAKE) -f Makefile.mingw DESTDIR=$(DESTDIR)) @rm -f bacula-fd.exe clean: @$(RMF) bacula-fd filed core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3 @$(RMF) static-bacula-fd if test -f win32/Makefile; then \ (cd win32; $(MAKE) clean); \ fi realclean: clean @$(RMF) tags bacula-fd.conf distclean: realclean if test $(srcdir) = .; then $(MAKE) realclean; fi (cd $(srcdir); $(RMF) Makefile; $(RMF) -r CVS) if test -f win32/Makefile; then \ (cd win32; $(MAKE) distclean); \ fi devclean: realclean if test $(srcdir) = .; then $(MAKE) realclean; fi (cd $(srcdir); $(RMF) Makefile) if test -f win32/Makefile; then \ (cd win32; $(MAKE) devclean); \ fi install: all $(INSTALL_PROGRAM) bacula-fd $(DESTDIR)$(sbindir)/bacula-fd @srcconf=bacula-fd.conf; \ if test -f ${DESTDIR}${sysconfdir}/$$srcconf; then \ destconf=$$srcconf.new; \ echo " ==> Found existing $$srcconf, installing new conf file as $$destconf"; \ else \ destconf=$$srcconf; \ fi; \ echo "${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \ ${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf @if test -f static-bacula-fd; then \ $(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)$(sbindir); $(RMF) bacula-fd.conf.new) # Semi-automatic generation of dependencies: # Use gcc -MM because X11 `makedepend' doesn't work on all systems # and it also includes system headers. # `semi'-automatic since dependencies are generated at distribution time. depend: @$(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 @if test -f Makefile ; then \ $(RMF) Makefile.bak; \ else \ $(MV) Makefile.bak Makefile; \ echo -e "Something went wrong\n\a"; \ fi # ----------------------------------------------------------------------- # DO NOT DELETE: nice dependency list follows