1 # Copyright (C) 2021 John Darrington
3 # This program is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation, either version 3 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 EXTRA_DIST
+=Windows
/build-dependencies \
17 Windows
/AdvUninstLog.nsh \
18 Windows
/MUI_EXTRAPAGES.nsh \
22 nsis_installer_deps
=$(DESTDIR
)$(prefix)/share
/doc
/pspp
/pspp.html \
23 $(DESTDIR
)$(prefix)/share
/doc
/pspp
/pspp.pdf \
24 Windows
/AdvUninstLog.nsh Windows
/MUI_EXTRAPAGES.nsh
26 environment_dir
= $$(echo
$(LDFLAGS
) |
$(SED
) -e
's/^-L//' -e
's|/lib$$||')
27 libgcc_dir
= $$(dirname
$$($(CC
) -print-libgcc-file-name
))
29 # Note that install is a PHONY target. Therefore this rule is always executed.
30 Windows
/nsis-bin
: install
33 cp
$(DESTDIR
)$(prefix)/bin
/* $@
34 cp
`$(CC) -print-file-name=libwinpthread-1.dll` $@
35 cp
$(environment_dir
)/bin
/*.dll
$@
36 cp
$(environment_dir
)/bin
/*.exe
$@
37 cp
$(libgcc_dir
)/*.dll
$@
40 # Create a hash from everything in Windows/nsis-bin, but don't
41 # update it unless it has changed
42 Windows
/nsis-bin-hashes
: Windows
/nsis-bin
43 md5sum Windows
/nsis-bin
/* > $@
,tmp
44 @diff
-q
$@
,tmp
$@ || mv
$@
,tmp
$@
46 # Copy Windows/nsis-bin/* into Windows/nsis-bin-stripped and then strip everything
47 Windows
/nsis-bin-stripped
: Windows
/nsis-bin-hashes
49 cp Windows
/nsis-bin
/* $@
52 # Create a hash from everything in Windows/nsis-bin-stripped, but don't
53 # update it unless it has changed
54 Windows
/nsis-bin-stripped-hashes
: Windows
/nsis-bin-stripped
55 md5sum Windows
/nsis-bin-stripped
/* > $@
,tmp
56 @diff
-q
$@
,tmp
$@ || mv
$@
,tmp
$@
59 Windows
/pspp-
$(binary_width
)bit-debug-install.exe
: Windows
/pspp.nsi Windows
/nsis-bin-hashes
$(nsis_installer_deps
)
60 @
$(top_builddir
)/config.status
--config | grep
-e
--enable-relocatable
> /dev
/null || \
61 (echo
"PSPP must be configured with --enable-relocatable"; false
)
63 makensis
-Dpspp_version
=$(PACKAGE_VERSION
) \
65 -DPtrSize
=$(binary_width
) \
66 -DPrefix
=$(DESTDIR
)$(prefix) \
67 -DBinDir
=$(abs_top_builddir
)/Windows
/nsis-bin \
68 -DEnvDir
=$(environment_dir
) \
69 -DSourceDir
=$(abs_top_srcdir
) \
70 -DOutExe
=$(abs_builddir
)/$@
$<
72 Windows
/pspp-
$(binary_width
)bit-install.exe
: Windows
/pspp.nsi Windows
/nsis-bin-stripped-hashes
$(nsis_installer_deps
)
73 @
$(top_builddir
)/config.status
--config | grep
-e
--enable-relocatable
> /dev
/null || \
74 (echo
"PSPP must be configured with --enable-relocatable"; false
)
76 makensis
-Dpspp_version
=$(PACKAGE_VERSION
) \
78 -DPtrSize
=$(binary_width
) \
79 -DPrefix
=$(DESTDIR
)$(prefix) \
80 -DBinDir
=$(abs_top_builddir
)/Windows
/nsis-bin-stripped \
81 -DEnvDir
=$(environment_dir
) \
82 -DSourceDir
=$(abs_top_srcdir
) \
83 -DOutExe
=$(abs_builddir
)/$@
$<
85 Windows
/installers
: Windows
/pspp-
$(binary_width
)bit-install.exe Windows
/pspp-
$(binary_width
)bit-debug-install.exe