]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/filed/plugins/Makefile
Update some old copyrights
[bacula/bacula] / bacula / src / win32 / filed / plugins / Makefile
1 #
2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
4 #
5 #  Written by James Harper, October 2008
6 #     Patterned after a Makefile by Robert Nelson, June 2006
7 #
8
9 #
10 # Change the following depending on where this directory is located
11 #  in the Bacula tree.  It should point to the src/win32 directory.
12 BUILDDIR = ../..
13
14 include $(BUILDDIR)/Makefile.inc
15
16 INCLUDES = \
17         $(INCLUDE_PTHREADS) \
18         $(INCLUDE_BACULA) \
19         $(INCLUDE_ZLIB) \
20         $(INCLUDE_OPENSSL) \
21         $(INCLUDE_VSS) \
22         -I$(MAINDIR)/src \
23         -I$(MAINDIR)/src/filed \
24         -I$(MAINDIR)/src/win32/filed
25
26 DEFINES = \
27         $(HAVES)
28
29 #vpath %.c $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
30 #vpath %.cpp $(BUILDDIR)/compat $(MAINDIR)/src/findlib $(MAINDIR)/src/lib
31
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
35
36 ######################################################################
37
38 # Files files in src/win32/filed/plugins
39
40 EXCHANGE_OBJS = \
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
50
51 BPIPE_OBJS = \
52         $(OBJDIR)/bpipe-fd.o
53
54 LIBS_DLL = \
55         $(LIBS_SSL) \
56         $(LIBS_CRYPTO) \
57         $(LIBS_PTHREADS) \
58         $(LIBS_ZLIB) \
59         $(LIBS_NETWORK) \
60         -lole32 \
61         -loleaut32 \
62         -luuid
63
64 ######################################################################
65
66 # Targets
67
68 .PHONY: all clean distclean
69
70 all: $(BINDIR)/exchange-fd.dll $(BINDIR)/bpipe-fd.dll $(BINDIR)/alldrives-fd.dll
71
72 clean:
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)
78
79 distclean: clean
80
81 #
82 # Rules for generating from ../lib
83 #
84
85 #$(LIBDIR)/libexchange-fd.a: DLL_DEFINE=USING_DLL
86
87 #$(LIBDIR)/libexchange-fd.a: $(BINDIR)/exchange-fd.dll $(STATIC_OBJS)
88 #       @echo "Updating archive $@"
89 #       $(call checkdir,$@)
90 #       $(ECHO_CMD)cp $(OBJDIR)/exchange-fd.a $@
91 #       $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
92
93 $(BINDIR)/exchange-fd.dll: DLL_DEFINE=BUILDING_DLL
94
95 $(BINDIR)/exchange-fd.dll: $(EXCHANGE_OBJS) exchange-fd.def
96         @echo "Linking $@"
97         $(call checkdir,$@)
98         $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/exchange-fd.a $^ $(LIBS_DLL) -o $@
99
100 $(BINDIR)/bpipe-fd.dll: DLL_DEFINE=BUILDING_DLL
101
102 $(BINDIR)/bpipe-fd.dll: $(BPIPE_OBJS) bpipe-fd.def $(LIBS_BACULA)
103         @echo "Linking $@"
104         $(call checkdir,$@)
105         $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bpipe-fd.a $^ $(LIBS_DLL) -o $@
106
107 $(BINDIR)/alldrives-fd.dll: DLL_DEFINE=BUILDING_DLL
108
109 $(BINDIR)/alldrives-fd.dll: $(OBJDIR)/alldrives-fd.o $(LIBS_BACULA)
110         @echo "Linking $@"
111         $(call checkdir,$@)
112         $(ECHO_CMD)$(CXX) $(CFLAGS) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/alldrives-fd.a $^ $(LIBS_DLL) -o $@
113
114 include $(BUILDDIR)/Makefile.rules
115
116 $(OBJDIR)/%.o: %.c
117         @echo "Compiling $<"
118         $(call checkdir,$@)
119         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
120
121 $(OBJDIR)/%.o: %.cpp
122         @echo "Compiling $<"
123         $(call checkdir,$@)
124         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@