]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/win64_installer/Makefile
Added fix for bug #1275 where acl or xattr data is saved for virtual filenames genera...
[bacula/bacula] / bacula / src / win32 / win64_installer / Makefile
1 #
2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
4 #
5 #  Written by Eric Bollengier, March 2009 
6 #    based on work by Robert Nelson
7 #
8
9 include ../Makefile.inc
10
11 VERSION := $(shell sed -ne 's/.*[ \t]VERSION[ \t][ \t]*"\(.*\)"/\1/p' < ../../version.h)
12
13 DEFINES := \
14         -DVERSION=$(VERSION) \
15         -DOUT_DIR=..\\release64 \
16         -DSRC_DIR=release64 \
17         -DWINVER=64 \
18         -DBUILD_TOOLS=MinGW64 \
19
20 INSTALL_EXE := $(BUILDDIR)/release64/winbacula-$(VERSION).exe
21
22 BACULA_BINARIES := \
23         bacula.dll \
24         exchange-fd.dll \
25         bsleep.exe \
26         bsmtp.exe \
27         bconsole.exe \
28         bacula-fd.exe
29
30 DEPKGS32_BINARIES := \
31         sed.exe \
32         expr64.exe \
33         snooze.exe
34
35 DEPKGS_BINARIES := \
36         openssl.exe \
37         cryptoeay32-0.9.8.dll \
38         ssleay32-0.9.8.dll \
39         pthreadGCE.dll \
40         zlib1.dll
41
42 NONGCC_BINARIES := \
43         libmysql.dll
44
45 NONGCC_LIBRARIES := \
46         libpq.dll
47
48 MINGW_BINARIES := \
49         mingwm10.dll
50
51 SCRIPT_FILES := \
52         mtx-changer.cmd \
53         disk-changer.cmd \
54         dvd-handler.cmd
55
56 CAT_FILES := \
57         create_mysql_database.cmd \
58         drop_mysql_database.cmd \
59         make_mysql_tables.cmd \
60         make_mysql_tables.sql \
61         drop_mysql_tables.cmd \
62         drop_mysql_tables.sql \
63         grant_mysql_privileges.cmd \
64         grant_mysql_privileges.sql \
65         make_mysql_catalog_backup.cmd \
66         create_postgresql_database.cmd \
67         create_postgresql_database.sql \
68         drop_postgresql_database.cmd \
69         make_postgresql_tables.cmd \
70         make_postgresql_tables.sql \
71         drop_postgresql_tables.cmd \
72         drop_postgresql_tables.sql \
73         grant_postgresql_privileges.cmd \
74         grant_postgresql_privileges.sql \
75         make_postgresql_catalog_backup.cmd \
76         create_sqlite3_database.cmd \
77         drop_sqlite3_database.cmd \
78         make_sqlite3_tables.cmd \
79         make_sqlite3_tables.sql \
80         drop_sqlite3_tables.cmd \
81         grant_sqlite3_privileges.cmd \
82         make_sqlite3_catalog_backup.cmd \
83         delete_catalog_backup.cmd
84
85 DIRD_FILES := \
86         query.sql
87
88 SSL_FILES := \
89         openssl.cnf
90
91 DOC_FILES := \
92         manual/bacula.pdf \
93         manual/bacula/*.html \
94         manual/bacula/*.png  \
95         manual/bacula/*.css
96
97 ##########################################################################
98
99 # Targets
100
101 .PHONY: all clean installer
102
103 all:            $(INSTALL_EXE)
104
105 installer:      $(INSTALL_EXE)
106
107 clean:
108         @echo "Cleaning `pwd`"
109         $(CMD_ECHO)-rm -f $(INSTALL_EXE)
110         $(CMD_ECHO)-rm -rf release64
111
112 #
113 # Rules
114 #
115
116 define Convert_Binary
117 release64/$$(notdir $(1)): $(1)
118         $$(call checkdir,$$@)
119         $(ECHO_CMD)cp -f $$^ $$@ ; \
120         $(STAB2CV) $$@
121 endef
122
123 define Copy_Binary
124 release64/$$(notdir $(1)): $(1)
125         $$(call checkdir,$$@)
126         $(ECHO_CMD)cp -f $$^ $$@
127 endef
128
129 define Copy_Docs
130 release64/$(1): $(DOCDIR)/$(1)
131         $$(call checkdir,$$@)
132         $(ECHO_CMD)cp -f $$^ $$(dir $$@)
133 endef
134
135 $(foreach file,$(addprefix $(DEPKGS32)/bin/, $(DEPKGS32_BINARIES)),$(eval $(call Convert_Binary,$(file))))
136
137 $(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Convert_Binary,$(file))))
138
139 #$(foreach file,$(addprefix $(DEPKGS)/bin/, $(NONGCC_BINARIES)),$(eval $(call Copy_Binary,$(file))))
140
141 #$(foreach file,$(addprefix $(DEPKGS)/lib/, $(NONGCC_LIBRARIES)),$(eval $(call Copy_Binary,$(file))))
142
143 $(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Convert_Binary,$(file))))
144
145 #$(foreach file,$(addprefix $(MINGW_DLLDIR)/, $(MINGW_BINARIES)),$(eval $(call Copy_Binary,$(file))))
146
147 $(foreach file,$(addprefix $(DEPKGS32)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
148
149 #$(foreach file,$(addprefix ../scripts/, $(SCRIPT_FILES)),$(eval $(call Copy_Binary,$(file))))
150
151 #$(foreach file,$(addprefix ../cats/, $(CAT_FILES)),$(eval $(call Copy_Binary,$(file))))
152
153 #$(foreach file,$(addprefix ../../dird/, $(DIRD_FILES)),$(eval $(call Copy_Binary,$(file))))
154
155 #$(foreach file,$(DOC_FILES),$(eval $(call Copy_Docs,$(file))))
156
157 $(INSTALL_EXE): winbacula.nsi $(addprefix release64/,$(BACULA_BINARIES) $(DEPKGS_BINARIES) $(DEPKGS32_BINARIES) $(SSL_FILES) )
158         NSISDIR=$(NSIS_DIR) \
159         $(NSIS_DIR)/makensis -V3 $(DEFINES) winbacula.nsi
160
161 include $(BUILDDIR)/Makefile.rules