]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/win64_installer/Makefile
Fix some trivial errors and implemented the restore of IRIX xattrs.
[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         docs/manuals/en/console/console.pdf \
93         docs/manuals/en/main/main.pdf \
94         docs/manuals/en/misc/misc.pdf \
95         docs/manuals/en/problems/problems.pdf \
96         docs/manuals/en/utility/utility.pdf
97
98 ##########################################################################
99
100 # Targets
101
102 .PHONY: all clean installer
103
104 all:            $(INSTALL_EXE)
105
106 installer:      $(INSTALL_EXE)
107
108 clean:
109         @echo "Cleaning `pwd`"
110         $(CMD_ECHO)-rm -f $(INSTALL_EXE)
111         $(CMD_ECHO)-rm -rf release64
112
113 #
114 # Rules
115 #
116
117 define Convert_Binary
118 release64/$$(notdir $(1)): $(1)
119         $$(call checkdir,$$@)
120         $(ECHO_CMD)cp -f $$^ $$@ ; \
121         $(STAB2CV) $$@
122 endef
123
124 define Copy_Binary
125 release64/$$(notdir $(1)): $(1)
126         $$(call checkdir,$$@)
127         $(ECHO_CMD)cp -f $$^ $$@
128 endef
129
130 define Copy_Docs
131 release64/$(1): $(DOCDIR)/$(1)
132         $$(call checkdir,$$@)
133         $(ECHO_CMD)cp -f $$^ $$(dir $$@)
134 endef
135
136 $(foreach file,$(addprefix $(DEPKGS32)/bin/, $(DEPKGS32_BINARIES)),$(eval $(call Convert_Binary,$(file))))
137
138 $(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Convert_Binary,$(file))))
139
140 #$(foreach file,$(addprefix $(DEPKGS)/bin/, $(NONGCC_BINARIES)),$(eval $(call Copy_Binary,$(file))))
141
142 #$(foreach file,$(addprefix $(DEPKGS)/lib/, $(NONGCC_LIBRARIES)),$(eval $(call Copy_Binary,$(file))))
143
144 $(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Convert_Binary,$(file))))
145
146 #$(foreach file,$(addprefix $(MINGW_DLLDIR)/, $(MINGW_BINARIES)),$(eval $(call Copy_Binary,$(file))))
147
148 $(foreach file,$(addprefix $(DEPKGS32)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
149
150 #$(foreach file,$(addprefix ../scripts/, $(SCRIPT_FILES)),$(eval $(call Copy_Binary,$(file))))
151
152 #$(foreach file,$(addprefix ../cats/, $(CAT_FILES)),$(eval $(call Copy_Binary,$(file))))
153
154 #$(foreach file,$(addprefix ../../dird/, $(DIRD_FILES)),$(eval $(call Copy_Binary,$(file))))
155
156 #$(foreach file,$(DOC_FILES),$(eval $(call Copy_Docs,$(file))))
157
158 $(INSTALL_EXE): winbacula.nsi $(addprefix release64/,$(BACULA_BINARIES) $(DEPKGS_BINARIES) $(DEPKGS32_BINARIES) $(SSL_FILES) )
159         cp -f ../release32/bat.exe release64
160         cp -f ../release32/QtCore4.dll release64
161         cp -f ../release32/QtGui4.dll release64
162         cp -f ../win32_installer/release32/mingwm10.dll release64
163         cp -f ../win32_installer/release32/ssleay32.dll release64
164         cp -f ../win32_installer/release32/libeay32.dll release64
165         cp -f ../win32_installer/release32/zlib1.dll release64/zlib132.dll
166         cp -f ../release32/bacula.dll release64/bacula32.dll
167         cp -f ../win32_installer/release32/pthreadGCE.dll release64/pthreadGCE32.dll
168         rm -rf release64/help
169         mkdir -p release64/help
170         cp -f ../win32_installer/release32/help/* release64/help/
171         NSISDIR=$(NSIS_DIR) \
172         $(NSIS_DIR)/makensis -V3 $(DEFINES) winbacula.nsi
173
174 include $(BUILDDIR)/Makefile.rules