2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
5 # Written by Robert Nelson, June 2006
8 include ../Makefile.inc
10 VERSION := $(shell sed -ne 's/.*[ \t]VERSION[ \t][ \t]*"\(.*\)"/\1/p' < ../../version.h)
13 -DVERSION=$(VERSION) \
14 -DOUT_DIR=..\\release \
18 INSTALL_EXE := $(BUILDDIR)/release/winbacula-$(VERSION).exe
61 dvd+rw-mediainfo.exe \
62 wxbase28_gcc_bacula.dll \
63 wxmsw28_core_gcc_bacula.dll
80 create_mysql_database.cmd \
81 drop_mysql_database.cmd \
82 make_mysql_tables.cmd \
83 make_mysql_tables.sql \
84 drop_mysql_tables.cmd \
85 drop_mysql_tables.sql \
86 grant_mysql_privileges.cmd \
87 grant_mysql_privileges.sql \
88 make_mysql_catalog_backup.cmd \
89 create_postgresql_database.cmd \
90 create_postgresql_database.sql \
91 drop_postgresql_database.cmd \
92 make_postgresql_tables.cmd \
93 make_postgresql_tables.sql \
94 drop_postgresql_tables.cmd \
95 drop_postgresql_tables.sql \
96 grant_postgresql_privileges.cmd \
97 grant_postgresql_privileges.sql \
98 make_postgresql_catalog_backup.cmd \
99 create_sqlite3_database.cmd \
100 drop_sqlite3_database.cmd \
101 make_sqlite3_tables.cmd \
102 make_sqlite3_tables.sql \
103 drop_sqlite3_tables.cmd \
104 grant_sqlite3_privileges.cmd \
105 make_sqlite3_catalog_backup.cmd \
106 delete_catalog_backup.cmd
116 manual/bacula/*.html \
117 manual/bacula/*.png \
120 ##########################################################################
124 .PHONY: all clean installer
128 installer: $(INSTALL_EXE)
131 @echo "Cleaning `pwd`"
132 $(CMD_ECHO)-rm -f $(INSTALL_EXE)
133 $(CMD_ECHO)-rm -rf release
139 define Convert_Binary
140 release/$$(notdir $(1)): $(1)
141 $$(call checkdir,$$@)
142 $(ECHO_CMD)cp -f $$^ $$@ ; \
147 release/$$(notdir $(1)): $(1)
148 $$(call checkdir,$$@)
149 $(ECHO_CMD)cp -f $$^ $$@
153 release/$(1): $(DOCDIR)/$(1)
154 $$(call checkdir,$$@)
155 $(ECHO_CMD)cp -f $$^ $$(dir $$@)
158 $(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Convert_Binary,$(file))))
160 $(foreach file,$(addprefix $(DEPKGS)/bin/, $(NONGCC_BINARIES)),$(eval $(call Copy_Binary,$(file))))
162 $(foreach file,$(addprefix $(DEPKGS)/lib/, $(NONGCC_LIBRARIES)),$(eval $(call Copy_Binary,$(file))))
164 $(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Convert_Binary,$(file))))
166 $(foreach file,$(addprefix $(MINGW_DLLDIR)/, $(MINGW_BINARIES)),$(eval $(call Copy_Binary,$(file))))
168 $(foreach file,$(addprefix $(DEPKGS)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
170 $(foreach file,$(addprefix ../scripts/, $(SCRIPT_FILES)),$(eval $(call Copy_Binary,$(file))))
172 $(foreach file,$(addprefix ../cats/, $(CAT_FILES)),$(eval $(call Copy_Binary,$(file))))
174 $(foreach file,$(addprefix ../../dird/, $(DIRD_FILES)),$(eval $(call Copy_Binary,$(file))))
176 $(foreach file,$(DOC_FILES),$(eval $(call Copy_Docs,$(file))))
178 $(INSTALL_EXE): winbacula.nsi $(addprefix release/,$(BACULA_BINARIES) $(SCRIPT_FILES) $(CAT_FILES) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(MINGW_BINARIES) $(SSL_FILES) $(DIRD_FILES) $(DOC_FILES))
179 NSISDIR=$(NSIS_DIR) \
180 $(NSIS_DIR)/makensis -V3 $(DEFINES) winbacula.nsi
182 include $(BUILDDIR)/Makefile.rules