]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/dll/Makefile
Remove alloc.c and semlock.c from Windows build.
[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)/bsnprintf.o \
58         $(OBJDIR)/bsys.o \
59         $(OBJDIR)/btime.o \
60         $(OBJDIR)/btimers.o \
61         $(OBJDIR)/btree.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)/runscript.o \
82         $(OBJDIR)/rwlock.o \
83         $(OBJDIR)/scan.o \
84         $(OBJDIR)/serial.o \
85         $(OBJDIR)/sha1.o \
86         $(OBJDIR)/signal.o \
87         $(OBJDIR)/smartall.o \
88         $(OBJDIR)/tls.o \
89         $(OBJDIR)/tree.o \
90         $(OBJDIR)/util.o \
91         $(OBJDIR)/var.o \
92         $(OBJDIR)/watchdog.o \
93         $(OBJDIR)/workq.o
94
95 DLL_OBJS = \
96         $(COMPAT_OBJS) $(FIND_OBJS) $(LIB_OBJS)
97
98 STATIC_OBJS = \
99         $(OBJDIR)/parse_conf.o \
100         $(OBJDIR)/res.o
101
102 ALL_OBJS = \
103         $(DLL_OBJS) $(STATIC_OBJS)
104
105 LIBS_DLL = \
106         $(LIBS_SSL) \
107         $(LIBS_CRYPTO) \
108         $(LIBS_PTHREADS) \
109         $(LIBS_ZLIB) \
110         -lwsock32 \
111         -lole32 \
112         -loleaut32 \
113         -luuid
114
115 ######################################################################
116
117 # Targets
118
119 .PHONY: all clean
120
121 all: $(BINDIR)/bacula.dll $(LIBDIR)/libbacula.a
122
123 clean:
124         @echo "Cleaning `pwd`"
125         $(call clean_obj,$(ALL_OBJS))
126         $(call clean_exe,$(BINDIR)/bacula.dll)
127         $(ECHO_CMD)rm -f $(OBJDIR)/bacula.a $(LIBDIR)/libbacula.a
128
129 #
130 # Rules for generating from ../lib
131 #
132
133 $(LIBDIR)/libbacula.a: DLL_DEFINE=USING_DLL
134
135 $(LIBDIR)/libbacula.a: $(BINDIR)/bacula.dll $(STATIC_OBJS)
136         @echo "Updating archive $@"
137         $(call checkdir,$@)
138         $(ECHO_CMD)cp $(OBJDIR)/bacula.a $@
139         $(ECHO_CMD)$(AR) rsv $@ $(filter %.o,$^)
140
141 $(BINDIR)/bacula.dll: DLL_DEFINE=BUILDING_DLL
142
143 $(BINDIR)/bacula.dll: $(DLL_OBJS) bacula.def
144         @echo "Linking $@"
145         $(call checkdir,$@)
146         $(ECHO_CMD)$(CXX) $(LDFLAGS) -mdll -mwindows -Wl,--out-implib,$(OBJDIR)/bacula.a $^ $(LIBS_DLL) -o $@
147
148 include ../Makefile.rules
149
150 $(OBJDIR)/%.o: %.c
151         @echo "Compiling $<"
152         $(call checkdir,$@)
153         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@
154
155 $(OBJDIR)/%.o: %.cpp
156         @echo "Compiling $<"
157         $(call checkdir,$@)
158         $(ECHO_CMD)$(CXX) -D$(DLL_DEFINE) $(CFLAGS) -c $< -o $@