]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/dll/Makefile
kes Add context menu for floating a window.
[bacula/bacula] / bacula / src / win32 / dll / Makefile
1 #
2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
4 #
5 #  Written by Robert Nelson, June 2006
6 #
7
8 include ../Makefile.inc
9
10 INCLUDES = \
11         $(INCLUDE_PTHREADS) \
12         $(INCLUDE_BACULA) \
13         $(INCLUDE_ZLIB) \
14         $(INCLUDE_OPENSSL)
15
16 DEFINES = \
17         $(HAVES)
18
19 vpath %.c ../compat ../../findlib ../../lib
20 vpath %.cpp ../compat ../../findlib ../../lib
21
22 ######################################################################
23
24 # Files files in src/lib
25
26 COMPAT_OBJS = \
27         $(OBJDIR)/compat.o \
28         $(OBJDIR)/print.o \
29         $(OBJDIR)/winapi.o
30
31 #       $(OBJDIR)/getopt.o \
32
33 FIND_OBJS = \
34         $(OBJDIR)/attribs.o \
35         $(OBJDIR)/bfile.o \
36         $(OBJDIR)/create_file.o \
37         $(OBJDIR)/drivetype.o \
38         $(OBJDIR)/enable_priv.o \
39         $(OBJDIR)/find.o \
40         $(OBJDIR)/find_one.o \
41         $(OBJDIR)/fstype.o \
42         $(OBJDIR)/makepath.o \
43         $(OBJDIR)/match.o \
44         $(OBJDIR)/save-cwd.o
45
46 LIB_OBJS = \
47         $(OBJDIR)/address_conf.o \
48         $(OBJDIR)/alist.o \
49         $(OBJDIR)/attr.o \
50         $(OBJDIR)/base64.o \
51         $(OBJDIR)/berrno.o \
52         $(OBJDIR)/bget_msg.o \
53         $(OBJDIR)/bnet.o \
54         $(OBJDIR)/bnet_server.o \
55         $(OBJDIR)/bpipe.o \
56         $(OBJDIR)/bregex.o \
57         $(OBJDIR)/bsock.o \
58         $(OBJDIR)/bsnprintf.o \
59         $(OBJDIR)/bsys.o \
60         $(OBJDIR)/btime.o \
61         $(OBJDIR)/btimers.o \
62         $(OBJDIR)/cram-md5.o \
63         $(OBJDIR)/crc32.o \
64         $(OBJDIR)/crypto.o \
65         $(OBJDIR)/daemon.o \
66         $(OBJDIR)/dlist.o \
67         $(OBJDIR)/edit.o \
68         $(OBJDIR)/enh_fnmatch.o \
69         $(OBJDIR)/fnmatch.o \
70         $(OBJDIR)/hmac.o \
71         $(OBJDIR)/htable.o \
72         $(OBJDIR)/idcache.o \
73         $(OBJDIR)/jcr.o \
74         $(OBJDIR)/lex.o \
75         $(OBJDIR)/md5.o \
76         $(OBJDIR)/mem_pool.o \
77         $(OBJDIR)/message.o \
78         $(OBJDIR)/openssl.o \
79         $(OBJDIR)/pythonlib.o \
80         $(OBJDIR)/queue.o \
81         $(OBJDIR)/rblist.o \
82         $(OBJDIR)/runscript.o \
83         $(OBJDIR)/rwlock.o \
84         $(OBJDIR)/scan.o \
85         $(OBJDIR)/serial.o \
86         $(OBJDIR)/sha1.o \
87         $(OBJDIR)/signal.o \
88         $(OBJDIR)/smartall.o \
89         $(OBJDIR)/tls.o \
90         $(OBJDIR)/tree.o \
91         $(OBJDIR)/util.o \
92         $(OBJDIR)/var.o \
93         $(OBJDIR)/watchdog.o \
94         $(OBJDIR)/workq.o
95
96 DLL_OBJS = \
97         $(COMPAT_OBJS) $(FIND_OBJS) $(LIB_OBJS)
98
99 STATIC_OBJS = \
100         $(OBJDIR)/parse_conf.o \
101         $(OBJDIR)/res.o
102
103 ALL_OBJS = \
104         $(DLL_OBJS) $(STATIC_OBJS)
105
106 LIBS_DLL = \
107         $(LIBS_SSL) \
108         $(LIBS_CRYPTO) \
109         $(LIBS_PTHREADS) \
110         $(LIBS_ZLIB) \
111         -lwsock32 \
112         -lole32 \
113         -loleaut32 \
114         -luuid
115
116 ######################################################################
117
118 # Targets
119
120 .PHONY: all clean
121
122 all: $(BINDIR)/bacula.dll $(LIBDIR)/libbacula.a
123
124 clean:
125         @echo "Cleaning `pwd`"
126         $(call clean_obj,$(ALL_OBJS))
127         $(call clean_exe,$(BINDIR)/bacula.dll)
128         $(ECHO_CMD)rm -f $(OBJDIR)/bacula.a $(LIBDIR)/libbacula.a
129
130 #
131 # Rules for generating from ../lib
132 #
133
134 $(LIBDIR)/libbacula.a: DLL_DEFINE=USING_DLL
135
136 $(LIBDIR)/libbacula.a: $(BINDIR)/bacula.dll $(STATIC_OBJS)
137         @echo "Updating archive $@"
138         $(call checkdir,$@)
139         $(ECHO_CMD)cp $(OBJDIR)/bacula.a $@
140         $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
141
142 $(BINDIR)/bacula.dll: DLL_DEFINE=BUILDING_DLL
143
144 $(BINDIR)/bacula.dll: $(DLL_OBJS) bacula.def
145         @echo "Linking $@"
146         $(call checkdir,$@)
147         $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bacula.a $^ $(LIBS_DLL) -o $@
148
149 include ../Makefile.rules
150
151 $(OBJDIR)/%.o: %.c
152         @echo "Compiling $<"
153         $(call checkdir,$@)
154         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
155
156 $(OBJDIR)/%.o: %.cpp
157         @echo "Compiling $<"
158         $(call checkdir,$@)
159         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@