This is seriously flawed. makensis is run twice for some reason. I also
noticed that the data and xslt directories under packaging/windows aren't
created when running make install. Running
make -f Makefile.Release install_marbledir install_deploy
works, but obviously this should be taken care of by the dependency.
The installed binary under Windows is not finding its icon, the
translations are missing... lots of work left to do here.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
\$^ or $(DESTDIR_TARGET) do not expand for some reason,
but also we cannot use $$DESTDIR, $$TARGET, or $$DESTDIR_TARGET
because these are empty. So what we use is a hardcoded path
(debug/release) and a target with an .exe suffix on win32.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
I don't know why. Working around the issue by using $^ (all
dependencies) and listing the files to be processed as dependencies for
the rule.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
There was one extra backslash that got passed to sed, which meant it
matched a literal dollar sign.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Apparently SED isn't set on Windows-native Makefiles. And for some
reason, $(CC) wasn't getting expanded properly -- it expanded to "cc",
even though it is set at the beginning of the Makefile to "gcc".
Reported-by: Lubomir I. Ivanov
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Now the Makefile should automatically detect when it needs to create a specific
.qm file and do the right thing to create it.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This runs lrelease against the .ts files and automatically recreates the .qm
files if any of the .ts files changes.
This also moves the .ts files into the translations directory.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
'share' is under Subsurface.app - you don't need a 'subsurface' directory
under 'share'.
This also installs the processed translations.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Only implemented for Windows for now. On Mac, macdeployqt copies all
imageformat plugins on its own.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Unix developers, look away... this is how it's done on Windows: the
binary loader searches $PATH for the DLLs, so let's reuse the same
variable. This simplifies the command-line a little.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
On Linux distros, it seems, objdump is configured to read Windows
executables (BFD architecture "pei-i386"), so we don't need to find an
alternate / cross-compile version. But leave the code here in case we
run into a distro that does things differently.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
This is probably the most complex part of the new buildsystem. This
adds the following targets:
- Linux:
make install - installs to $(prefix) (default: /usr)
The install path can be changed during make install time.
- Windows:
make install - installs Subsurface and its dependencies to
packaging/windows.
- Mac:
make mac-deploy - populates Subsurface.app with the dependencies
make install - mac-deploy + install Subsurface.app to /Application
make mac-create-dmg - mac-deploy + creates Subsurface-$VERSION.dmg
Signed-off-by: Thiago Macieira <thiago@macieira.org>