2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
5 # Written by James Harper, October 2008
6 # Patterned after a Makefile by Robert Nelson, June 2006
10 # Change the following depending on where this directory is located
11 # in the Bacula tree. It should point to the src/win32 directory.
14 include $(BUILDDIR)/Makefile.inc
23 -I$(MAINDIR)/src/filed \
24 -I$(MAINDIR)/src/win32/filed
29 #vpath %.c $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
30 #vpath %.cpp $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
32 ######################################################################
34 # Files files in src/win32/filed/plugins
37 $(OBJDIR)/exchange-fd.o \
40 $(OBJDIR)/root_node.o \
41 $(OBJDIR)/service_node.o \
42 $(OBJDIR)/storage_group_node.o \
43 $(OBJDIR)/store_node.o \
44 $(OBJDIR)/dbi_node.o \
48 $(OBJDIR)/vss_plugin_wrapper.o \
49 $(OBJDIR)/vss_base.o \
50 $(OBJDIR)/vss_node.o \
51 $(OBJDIR)/vss_root_node.o \
52 $(OBJDIR)/vss_writer_node.o \
53 $(OBJDIR)/vss_component_node.o \
54 $(OBJDIR)/vss_file_node.o \
55 $(OBJDIR)/find_filespec.o
59 $(OBJDIR)/systemstate-fd.o \
60 $(OBJDIR)/systemstate_registry.o \
61 $(OBJDIR)/systemstate_frs.o \
62 $(OBJDIR)/systemstate_dfsr.o \
63 $(OBJDIR)/systemstate_complusregdb.o
67 $(OBJDIR)/sharepoint-fd.o
82 ######################################################################
88 all: $(BINDIR)/exchange-fd.dll $(BINDIR)/systemstate-fd.dll $(BINDIR)/sharepoint-fd.dll $(BINDIR)/bpipe-fd.dll
91 @echo "Cleaning `pwd`"
92 $(call clean_obj,$(EXCHANGE_OBJS))
93 $(call clean_exe,$(BINDIR)/exchange-fd.dll)
94 $(ECHO_CMD)rm -f $(OBJDIR)/exchange-fd.a $(LIBDIR)/libexchange-fd.a
95 $(call clean_obj,$(SYSTEMSTATE_OBJS))
96 $(call clean_exe,$(BINDIR)/systemstate-fd.dll)
97 $(ECHO_CMD)rm -f $(OBJDIR)/systemstate-fd.a $(LIBDIR)/libsystemstate-fd.a
98 $(call clean_obj,$(SHAREPOINT_OBJS))
99 $(call clean_exe,$(BINDIR)/sharepoint-fd.dll)
100 $(ECHO_CMD)rm -f $(OBJDIR)/sharepoint-fd.a $(LIBDIR)/libsharepoint-fd.a
101 $(ECHO_CMD)rm -rf $(OBJDIRS)
104 # Rules for generating from ../lib
107 #$(LIBDIR)/libexchange-fd.a: DLL_DEFINE=USING_DLL
109 #$(LIBDIR)/libexchange-fd.a: $(BINDIR)/exchange-fd.dll $(STATIC_OBJS)
110 # @echo "Updating archive $@"
111 # $(call checkdir,$@)
112 # $(ECHO_CMD)cp $(OBJDIR)/exchange-fd.a $@
113 # $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
115 $(BINDIR)/exchange-fd.dll: DLL_DEFINE=BUILDING_DLL
117 $(BINDIR)/exchange-fd.dll: $(EXCHANGE_OBJS) exchange-fd.def
120 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/exchange-fd.a $^ $(LIBS_DLL) -o $@
122 $(BINDIR)/systemstate-fd.dll: DLL_DEFINE=BUILDING_DLL
124 $(BINDIR)/systemstate-fd.dll: $(SYSTEMSTATE_OBJS) systemstate-fd.def $(LIBS_BACULA)
127 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/systemstate-fd.a $^ $(LIBS_DLL) -o $@
129 $(BINDIR)/sharepoint-fd.dll: DLL_DEFINE=BUILDING_DLL
131 $(BINDIR)/sharepoint-fd.dll: $(SHAREPOINT_OBJS) sharepoint-fd.def $(LIBS_BACULA)
134 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/sharepoint-fd.a $^ $(LIBS_DLL) -o $@
136 $(BINDIR)/bpipe-fd.dll: DLL_DEFINE=BUILDING_DLL
138 $(BINDIR)/bpipe-fd.dll: $(BPIPE_OBJS) bpipe-fd.def $(LIBS_BACULA)
141 $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bpipe-fd.a $^ $(LIBS_DLL) -o $@
144 include $(BUILDDIR)/Makefile.rules
149 $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
154 $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@