]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/win32/filed/plugins/Makefile
Restore win32 dir from Branch-5.2 and update it
[bacula/bacula] / bacula / src / win32 / filed / plugins / Makefile
diff --git a/bacula/src/win32/filed/plugins/Makefile b/bacula/src/win32/filed/plugins/Makefile
new file mode 100644 (file)
index 0000000..f68a0df
--- /dev/null
@@ -0,0 +1,120 @@
+#
+# Makefile for win32 bacula executables
+# Using MinGW cross-compiler on GNU/Linux
+#
+#  Written by James Harper, October 2008
+#     Patterned after a Makefile by Robert Nelson, June 2006
+#
+
+#
+# Change the following depending on where this directory is located
+#  in the Bacula tree. It should point to the src/win32 directory.
+BUILDDIR = ../..
+
+include $(BUILDDIR)/Makefile.inc
+
+INCLUDES = \
+       $(INCLUDE_PTHREADS) \
+       $(INCLUDE_BACULA) \
+       $(INCLUDE_ZLIB) \
+       $(INCLUDE_OPENSSL) \
+       $(INCLUDE_VSS) \
+       -I$(MAINDIR)/src \
+       -I$(MAINDIR)/src/filed \
+       -I$(MAINDIR)/src/win32/filed
+
+DEFINES = \
+       $(HAVES)
+
+#vpath %.c $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
+#vpath %.cpp $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
+
+######################################################################
+
+# Files files in src/win32/filed/plugins
+
+EXCHANGE_OBJS = \
+       $(OBJDIR)/exchange-fd.o \
+       $(OBJDIR)/exch_api.o \
+       $(OBJDIR)/exch_node.o \
+       $(OBJDIR)/exch_root_node.o \
+       $(OBJDIR)/exch_service_node.o \
+       $(OBJDIR)/exch_storage_group_node.o \
+       $(OBJDIR)/exch_store_node.o \
+       $(OBJDIR)/exch_dbi_node.o \
+       $(OBJDIR)/exch_file_node.o
+
+BPIPE_OBJS = \
+       $(OBJDIR)/bpipe-fd.o
+
+LIBS_DLL = \
+       $(LIBS_SSL) \
+       $(LIBS_CRYPTO) \
+       $(LIBS_PTHREADS) \
+       $(LIBS_ZLIB) \
+       $(LIBS_NETWORK) \
+       -lole32 \
+       -loleaut32 \
+       -luuid
+
+######################################################################
+
+# Targets
+
+.PHONY: all clean distclean
+
+all: $(BINDIR)/exchange-fd.dll $(BINDIR)/bpipe-fd.dll $(BINDIR)/alldrives-fd.dll
+
+clean:
+       @echo "Cleaning `pwd`"
+       $(call clean_obj,$(EXCHANGE_OBJS))
+       $(call clean_exe,$(BINDIR)/exchange-fd.dll)
+       $(ECHO_CMD)rm -f $(OBJDIR)/exchange-fd.a $(LIBDIR)/libexchange-fd.a
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
+
+distclean: clean
+
+#
+# Rules for generating from ../lib
+#
+
+#$(LIBDIR)/libexchange-fd.a: DLL_DEFINE=USING_DLL
+
+#$(LIBDIR)/libexchange-fd.a: $(BINDIR)/exchange-fd.dll $(STATIC_OBJS)
+#      @echo "Updating archive $@"
+#      $(call checkdir,$@)
+#      $(ECHO_CMD)cp $(OBJDIR)/exchange-fd.a $@
+#      $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
+
+$(BINDIR)/exchange-fd.dll: DLL_DEFINE=BUILDING_DLL
+
+$(BINDIR)/exchange-fd.dll: $(EXCHANGE_OBJS) exchange-fd.def
+       @echo "Linking $@"
+       $(call checkdir,$@)
+       $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/exchange-fd.a $^ $(LIBS_DLL) -o $@
+
+$(BINDIR)/bpipe-fd.dll: DLL_DEFINE=BUILDING_DLL
+
+$(BINDIR)/bpipe-fd.dll: $(BPIPE_OBJS) bpipe-fd.def $(LIBS_BACULA)
+       @echo "Linking $@"
+       $(call checkdir,$@)
+       $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bpipe-fd.a $^ $(LIBS_DLL) -o $@
+
+$(BINDIR)/alldrives-fd.dll: DLL_DEFINE=BUILDING_DLL
+
+$(BINDIR)/alldrives-fd.dll: $(OBJDIR)/alldrives-fd.o $(LIBS_BACULA)
+       @echo "Linking $@"
+       $(call checkdir,$@)
+       $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/alldrives-fd.a $^ $(LIBS_DLL) -o $@
+
+include $(BUILDDIR)/Makefile.rules
+
+$(OBJDIR)/%.o: %.c
+       @echo "Compiling $<"
+       $(call checkdir,$@)
+       $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
+
+$(OBJDIR)/%.o: %.cpp
+       @echo "Compiling $<"
+       $(call checkdir,$@)
+       $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@