Remove the hack to create most Makefile variables on Unix

I've just discovered, quite by accident, a new undocumented feature of
qmake: it can write Makefile variables. So let's use this feature
where we can instead of our hack.  The only thing is that it prepends
an "EXPORT_" prefix, so we can't use it for a variable like $(prefix)
that Linux distributions are expected to try to modify during make
install.

I've verified that the feature remains in Qt 5.x.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Thiago Macieira 2014-01-28 12:14:57 -08:00 committed by Dirk Hohndel
parent 607bf47989
commit 775b4f702a

View file

@ -126,38 +126,39 @@ mac {
# We just need to drop a few files here and there
# This is a fake rule just to create some rules in the target file
nl = $$escape_expand(\\n)
dummy.target = dummy-only-for-var-expansion
dummy.commands = $${nl}prefix = /usr$${nl}\
BINDIR = $(prefix)/bin$${nl}\
DATADIR = $(prefix)/share$${nl}\
DOCDIR = $(DATADIR)/subsurface/Documentation$${nl}\
DESKTOPDIR = $(DATADIR)/applications$${nl}\
ICONPATH = $(DATADIR)/icons/hicolor$${nl}\
ICONDIR = $(ICONPATH)/scalable/apps$${nl}\
MANDIR = $(DATADIR)/man/man1$${nl}
dummy.commands = $$escape_expand(\\n)prefix = /usr
QMAKE_EXTRA_VARIABLES = BINDIR DATADIR DOCDIR DESKTOPDIR ICONPATH ICONDIR MANDIR
BINDIR = $(prefix)/bin
DATADIR = $(prefix)/share
DOCDIR = $(EXPORT_DATADIR)/subsurface/Documentation
DESKTOPDIR = $(EXPORT_DATADIR)/applications
ICONPATH = $(EXPORT_DATADIR)/icons/hicolor
ICONDIR = $(EXPORT_ICONPATH)/scalable/apps
MANDIR = $(EXPORT_DATADIR)/man/man1
QMAKE_EXTRA_TARGETS += dummy
WINDOWSSTAGING = ./packaging/windows
target.path = /$(BINDIR)
target.path = /$(EXPORT_BINDIR)
target.files = $$TARGET
desktop.path = /$(DESKTOPDIR)
desktop.path = /$(EXPORT_DESKTOPDIR)
desktop.files = $$DESKTOP_FILE
manpage.path = /$(MANDIR)
manpage.path = /$(EXPORT_MANDIR)
manpage.files = $$MANPAGE
icon.path = /$(ICONDIR)
icon.path = /$(EXPORT_ICONDIR)
icon.files = $$ICON
marbledir.path = /$(DATADIR)/subsurface/data
doc.path = /$(DOCDIR)
marbledir.path = /$(EXPORT_DATADIR)/subsurface/data
doc.path = /$(EXPORT_DOCDIR)
doc.CONFIG += no_check_exist
translation.path = /$(DATADIR)/subsurface/translations
translation.path = /$(EXPORT_DATADIR)/subsurface/translations
translation.CONFIG += no_check_exist
INSTALLS += target desktop manpage doc marbledir translation icon