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 # Look files in src/lib and plugins/fd mainly for SAP and Oracle
33 vpath %.c $(MAINDIR)/src/lib $(MAINDIR)/src/plugins/fd
34 vpath %.h $(MAINDIR)/src/lib $(MAINDIR)/src/plugins/fd
36 ######################################################################
38 # Files files in src/win32/filed/plugins
41 $(OBJDIR)/exchange-fd.o \
42 $(OBJDIR)/exch_api.o \
43 $(OBJDIR)/exch_node.o \
44 $(OBJDIR)/exch_root_node.o \
45 $(OBJDIR)/exch_service_node.o \
46 $(OBJDIR)/exch_storage_group_node.o \
47 $(OBJDIR)/exch_store_node.o \
48 $(OBJDIR)/exch_dbi_node.o \
49 $(OBJDIR)/exch_file_node.o
64 ######################################################################
68 .PHONY: all clean distclean
70 all: $(BINDIR)/exchange-fd.dll $(BINDIR)/bpipe-fd.dll $(BINDIR)/alldrives-fd.dll
73 @echo "Cleaning `pwd`"
74 $(call clean_obj,$(EXCHANGE_OBJS))
75 $(call clean_exe,$(BINDIR)/exchange-fd.dll)
76 $(ECHO_CMD)rm -f $(OBJDIR)/exchange-fd.a $(LIBDIR)/libexchange-fd.a
77 $(ECHO_CMD)rm -rf $(OBJDIRS)
82 # Rules for generating from ../lib
85 #$(LIBDIR)/libexchange-fd.a: DLL_DEFINE=USING_DLL
87 #$(LIBDIR)/libexchange-fd.a: $(BINDIR)/exchange-fd.dll $(STATIC_OBJS)
88 # @echo "Updating archive $@"
90 # $(ECHO_CMD)cp $(OBJDIR)/exchange-fd.a $@
91 # $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
93 $(BINDIR)/exchange-fd.dll: DLL_DEFINE=BUILDING_DLL
95 $(BINDIR)/exchange-fd.dll: $(EXCHANGE_OBJS) exchange-fd.def
98 $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/exchange-fd.a $^ $(LIBS_DLL) -o $@
100 $(BINDIR)/bpipe-fd.dll: DLL_DEFINE=BUILDING_DLL
102 $(BINDIR)/bpipe-fd.dll: $(BPIPE_OBJS) bpipe-fd.def $(LIBS_BACULA)
105 $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bpipe-fd.a $^ $(LIBS_DLL) -o $@
107 $(BINDIR)/alldrives-fd.dll: DLL_DEFINE=BUILDING_DLL
109 $(BINDIR)/alldrives-fd.dll: $(OBJDIR)/alldrives-fd.o $(LIBS_BACULA)
112 $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/alldrives-fd.a $^ $(LIBS_DLL) -o $@
114 include $(BUILDDIR)/Makefile.rules
119 $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
124 $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@