blob: 915e11c977e2d9385756def57cad721bfa9220cb [file] [log] [blame]
Takeshi Abeb2bd33e2011-08-10 02:12:48 +09001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
Michael Stahlb0b92d12012-05-15 14:47:37 +02002#
Michael Meeks72e5d0c2013-04-24 17:14:03 +01003# This file is part of the LibreOffice project.
Michael Stahlb0b92d12012-05-15 14:47:37 +02004#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8#
Norbert Thiebaudc857dff2012-01-24 15:48:30 -06009
Noel Grandin065d6cc2014-07-07 14:29:05 +020010.PHONY : all bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download fetch findunusedcode get-submodules id install install-strip subsequentcheck tags debugrun help slowcheck translations unitcheck packageinfo internal.clean
Matúš Kukan0e6212c2012-12-23 19:27:28 +010011
Bjoern Michaelsen4a016d12013-11-21 00:34:20 +010012MAKECMDGOALS?=all
Norbert Thiebaud3047ac52014-02-08 22:08:33 -060013build_goal:=$(if $(filter build check,$(MAKECMDGOALS)),all)\
14 $(if $(filter build-nocheck,$(MAKECMDGOALS)),build)\
15 $(if $(filter check,$(MAKECMDGOALS)),subsequentcheck)\
16 $(filter all build-l10n-only build-non-l10n-only debugrun help slowcheck translations unitcheck subsequentcheck check packageinfo,$(MAKECMDGOALS))
Norbert Thiebaude48d33b2012-01-26 16:29:26 -060017
Michael Stahl2768d782014-06-04 22:21:53 +020018SHELL := @SHELL_BASH@
Matúš Kukan0e6212c2012-12-23 19:27:28 +010019SRCDIR := @SRC_ROOT@
20BUILDDIR := @BUILDDIR@
David Tardon40ae8f32013-05-30 16:12:22 +020021GIT_BUILD := $(if $(wildcard $(SRCDIR)/.git),T)
Norbert Thiebaudc857dff2012-01-24 15:48:30 -060022
David Tardon40ae8f32013-05-30 16:12:22 +020023# Run autogen.sh if needed and force make to restart itself.
24# ... but there are several cases where we do not want to run
25# autogen.sh:
26# 1. if we are building from tarballs, not git checkout (I do not
27# think packagers would ever want that. I certainly do not.)
28# 2. if we are making help, clean or distclean, because they do not
29# need updated configuration
30ifeq (,$(MAKE_RESTARTS)$(if $(GIT_BUILD),,T)$(if $(filter-out help clean distclean,$(MAKECMDGOALS)),,T))
Norbert Thiebaudc857dff2012-01-24 15:48:30 -060031
Matúš Kukan0e6212c2012-12-23 19:27:28 +010032.PHONY : force-restart
33Makefile: $(BUILDDIR)/config_host.mk force-restart
34 @touch $@
Norbert Thiebaudc857dff2012-01-24 15:48:30 -060035
Michael Stahlb0b92d12012-05-15 14:47:37 +020036# run configure in an environment not polluted by config_host.mk
Matúš Kukan38a22f562013-11-21 00:02:18 +010037$(BUILDDIR)/config_host.mk : $(wildcard \
Michael Stahlb0b92d12012-05-15 14:47:37 +020038 $(SRCDIR)/config_host.mk.in \
Norbert Thiebaudae4e3272012-12-11 07:49:24 -060039 $(SRCDIR)/Makefile.in \
Michael Stahl2a9ecb82013-01-18 22:11:53 +010040 $(SRCDIR)/instsetoo_native/util/openoffice.lst.in \
Peter Foley39558762012-10-19 16:59:21 -040041 $(SRCDIR)/configure.ac \
Matúš Kukan38a22f562013-11-21 00:02:18 +010042 $(SRCDIR)/config_host/*.h.in \
43 $(BUILDDIR)/autogen.input \
44 $(BUILDDIR)/autogen.lastrun \
45 )
Michael Stahlfe8c5f62014-06-02 00:18:08 +020046 sh -c $(SRCDIR)/autogen.sh
Norbert Thiebaud84399902012-01-26 14:26:49 -060047
Matúš Kukan0e6212c2012-12-23 19:27:28 +010048else # MAKE_RESTARTS
49
50all: build
51
Bjoern Michaelsen4a016d12013-11-21 00:34:20 +010052gb_Side ?= host
Matúš Kukan0e6212c2012-12-23 19:27:28 +010053
54include $(BUILDDIR)/config_$(gb_Side).mk
Matúš Kukan0e6212c2012-12-23 19:27:28 +010055
Bjoern Michaelsenf9041c32013-11-21 03:46:02 +010056export GMAKE_OPTIONS?=-r$(if $(verbose)$(VERBOSE),,s)$(value $(MAKEFLAGS))
Matúš Kukan0e6212c2012-12-23 19:27:28 +010057
Luboš Luňákf605cfc2014-03-23 15:58:00 +010058PARALLELISM_OPTION := $(if $(filter-out 0,$(PARALLELISM)),-j $(PARALLELISM),)
59
Matúš Kukanf2e73652013-02-27 18:40:36 +010060#
61# Partial Build
62#
Bjoern Michaelsen60c64b42013-11-20 19:21:34 +010063define gb_Top_GbuildModuleRules
Markus Mohrhard9f13bb52014-04-25 19:11:57 +020064.PHONY: $(1) $(1).all $(1).build $(1).check $(1).clean $(1).showdeliverables $(1).subsequentcheck $(1).slowcheck
Matúš Kukan0e6212c2012-12-23 19:27:28 +010065
66$(1): bootstrap fetch
Luboš Luňák35720ea2014-03-23 21:20:00 +010067 cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS)
Matúš Kukan0e6212c2012-12-23 19:27:28 +010068
Markus Mohrhard9f13bb52014-04-25 19:11:57 +020069$(1).build $(1).check $(1).clean $(1).showdeliverables $(1).subsequentcheck $(1).slowcheck:
Luboš Luňák35720ea2014-03-23 21:20:00 +010070 cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@)
Matúš Kukan0e6212c2012-12-23 19:27:28 +010071
Matúš Kukanbdd92142013-02-26 15:15:22 +010072$(1).all: bootstrap fetch
Luboš Luňák35720ea2014-03-23 21:20:00 +010073 $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(if $(CROSS_COMPILING),,$(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1))
Matúš Kukanbdd92142013-02-26 15:15:22 +010074
Matúš Kukan0e6212c2012-12-23 19:27:28 +010075endef
Norbert Thiebaudae4e3272012-12-11 07:49:24 -060076
Bjoern Michaelsen60c64b42013-11-20 19:21:34 +010077define gb_Top_GbuildModulesRules
78$(foreach m,$(1),$(call gb_Top_GbuildModuleRules,$(notdir $(m)),$(m)))
Matúš Kukan0e6212c2012-12-23 19:27:28 +010079endef
80
Michael Stahldddff6e2013-10-23 16:33:50 +020081gbuild_modules := $(patsubst $(SRCDIR)/%/,%,$(dir $(wildcard $(SRCDIR)/*/Module_*.mk $(SRCDIR)/external/*/Module_*.mk)))
Peter Foley96f94302013-03-24 09:34:55 -040082
Noel Grandin065d6cc2014-07-07 14:29:05 +020083gbuild_internal_modules := $(filter-out odk external,$(patsubst $(SRCDIR)/%/,%,$(dir $(wildcard $(SRCDIR)/*/Module_*.mk))))
84
85internal.clean: $(addsuffix .clean,$(gbuild_internal_modules))
86
87
Bjoern Michaelsen60c64b42013-11-20 19:21:34 +010088$(eval $(call gb_Top_GbuildModulesRules,$(gbuild_modules)))
Matúš Kukan0e6212c2012-12-23 19:27:28 +010089
Peter Foleyac3e90b2013-03-02 13:06:22 -050090gbuild_TARGETS := AllLangHelp \
David Tardone78646e2013-05-07 12:29:34 +020091 AllLangPackage \
Peter Foleyac3e90b2013-03-02 13:06:22 -050092 AllLangResTarget \
Matúš Kukan7a878f92013-06-10 00:56:28 +020093 AutoInstall \
Peter Foleyac3e90b2013-03-02 13:06:22 -050094 CliLibrary \
95 CliNativeLibrary \
Michael Stahl6bd0f9b2013-10-28 10:32:03 +010096 CliUnoApi \
Peter Foleyac3e90b2013-03-02 13:06:22 -050097 Configuration \
98 CppunitTest \
99 CustomTarget \
100 Dictionary \
101 Executable \
102 Extension \
Michael Stahl704451d2013-10-31 00:15:51 +0100103 ExtensionPackage \
Michael Stahl60211132013-10-31 00:58:46 +0100104 ExtensionPackageSet \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500105 ExternalPackage \
106 ExternalProject \
David Tardon0fd330e2013-05-04 13:21:33 +0200107 GeneratedPackage \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500108 InstallModule \
109 InstallScript \
110 InternalUnoApi \
111 Jar \
112 JunitTest \
113 Library \
114 Module \
115 Package \
David Tardon9d54f0e2013-04-07 09:45:19 +0200116 PackageSet \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500117 Pagein \
David Tardondf7b8632013-05-24 15:49:11 +0200118 Postprocess \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500119 Pyuno \
Michael Stahl3094d722013-04-18 22:59:25 +0200120 PythonTest \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500121 Rdb \
122 StaticLibrary \
David Tardoned729832013-04-06 13:10:54 +0200123 UIConfig \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500124 UnoApi \
Peter Foleyac3e90b2013-03-02 13:06:22 -0500125 UnpackedTarball \
126 WinResTarget \
David Tardonea18ca02013-03-31 11:34:10 +0200127 Zip \
David Tardon3d50cfa2013-04-14 08:18:27 +0200128
Peter Foleyac3e90b2013-03-02 13:06:22 -0500129# build a generic gbuild target
Stephan Bergmannb3046282014-06-18 13:27:47 +0200130$(foreach target,$(gbuild_TARGETS),$(target)_% $(foreach module,$(gbuild_modules),$(target)_$(module)/%)) %.genpatch: bootstrap fetch
Luboš Luňákf8062812014-03-23 17:46:23 +0100131 $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $@
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100132
133#
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100134# Clean
135#
136clean: clean-host clean-build
137
138clean-host:
Michael Stahlf1d08892013-10-01 15:30:08 +0200139 rm -fr $(TESTINSTALLDIR)
David Tardonbba6e9e2013-04-03 17:13:32 +0200140 rm -fr $(INSTDIR)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100141 rm -fr $(WORKDIR)
Michael Stahl5d8f48c2013-10-31 14:02:40 +0100142 rm -fr solver
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100143 rm -fr install
144
145clean-build:
Michael Stahld729d162014-02-27 16:19:43 +0100146ifneq ($(CROSS_COMPILING),)
Matúš Kukan58ff5d52013-09-25 09:44:35 +0200147 rm -fr $(INSTDIR_FOR_BUILD)
Matúš Kukanf2e73652013-02-27 18:40:36 +0100148 rm -fr $(WORKDIR_FOR_BUILD)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100149endif
150
151include $(SRCDIR)/compilerplugins/Makefile.mk
152
153#
154# Distclean
155#
156distclean : clean compilerplugins-clean
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100157 rm -fr \
158 $(BUILDDIR)/Makefile \
159 $(BUILDDIR)/aclocal.m4 \
160 $(BUILDDIR)/autom4te.cache \
161 $(BUILDDIR)/config.log \
Stephan Bergmann16b48022013-12-17 14:06:42 +0100162 $(BUILDDIR)/config.Build.log \
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100163 $(BUILDDIR)/config.status \
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100164 $(BUILDDIR)/config_build.mk \
165 $(BUILDDIR)/config_host.mk \
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100166 $(BUILDDIR)/config_host.mk.stamp \
Stephan Bergmann353e1772013-02-04 08:39:08 +0100167 $(BUILDDIR)/config_host/*.h \
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100168 $(BUILDDIR)/configure \
Stephan Bergmanncb50efb2013-01-14 11:05:50 +0100169 $(BUILDDIR)/instsetoo_native/util/openoffice.lst \
Stephan Bergmann9e973322013-10-17 23:37:29 +0200170 $(BUILDDIR)/ios/lo.xcconfig \
Stephan Bergmanna3267252013-10-02 21:19:01 +0200171 $(BUILDDIR)/lo.xcent \
172 $(BUILDDIR)/sysui/desktop/macosx/Info.plist
Michael Stahlbc5069a2013-11-01 12:19:09 +0100173 find $(SRCDIR)/solenv/gdb -name "*.pyc" -exec rm {} \;
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100174
175#
176# custom command
177#
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100178cmd:
179 echo "custom cmd" && ( $(cmd) )
180
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100181#
182# Fetch
183#
Michael Stahle3ba7642014-03-10 23:42:26 +0100184ifneq ($(DO_FETCH_TARBALLS),)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100185include $(SRCDIR)/Makefile.fetch
186fetch: download
187fetch: get-submodules
188
189ifneq (,$(wildcard $(SRCDIR)/.git))
190get-submodules:
191ifneq ($(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git),$(wildcard $(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git)))
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100192 cd $(SRCDIR) && ./g -f clone
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100193endif
Peter Foleyc2aaa832013-02-13 17:19:59 -0500194 @cd $(SRCDIR) && ./g -z # make sure the git hooks are in place enen if no submodules are needed
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100195
196else # these sources are from a tarball, so get the other source tarballs
197gb_LO_VER := $(shell . $(SRCDIR)/sources.ver && echo $$lo_sources_ver)
198$(if $(gb_LO_VER),,$(error Error while retrieving $$lo_sources_ver from $(SRCDIR)/sources.ver))
199
200get-submodules: | download
201ifneq ($(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),$(SRCDIR)/src/libreoffice-$(i)-$(gb_LO_VER)),$(wildcard $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),$(SRCDIR)/src/libreoffice-$(i)-$(gb_LO_VER))))
202 $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),\
203 $(call fetch_Download_item,http://download.documentfoundation.org/libreoffice/src/$(shell echo $(gb_LO_VER) | sed -e "s/\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/"),libreoffice-$(i)-$(gb_LO_VER).tar.xz,no-check))
204 $(SRCDIR)/bin/unpack-sources $(SRCDIR) $(foreach i,$(subst helpcontent2,help,$(GIT_NEEDED_SUBMODULES)),\
205 $(TARFILE_LOCATION)/libreoffice-$(i)-$(gb_LO_VER).tar.xz)
206endif
207
208endif
209
210else
211fetch:
212 @echo "Automatic fetching of external tarballs is disabled."
213
214endif
215
216#
217# Bootstap
218#
Bjoern Michaelsen2b791f12013-02-25 11:56:21 +0100219bootstrap: compilerplugins
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100220
221#
222# Build
223#
Bjoern Michaelsen4eebd652013-11-19 14:25:45 +0100224# Note: this will pipe through all gbuild targets to ... gbuild
225# with some translations like "build"->"all" for historic reasons
Michael Stahlbbadfca2013-10-03 18:49:25 +0200226#
Michael Stahlb8002162013-11-06 16:36:04 +0100227build: bootstrap fetch $(if $(CROSS_COMPILING),cross-toolset)
Michael Stahl2cb380b2013-10-29 17:51:06 +0100228ifneq ($(filter-out WNT MACOSX IOS ANDROID,$(OS)),)
229 mkdir -p $(INSTDIR) && install-gdb-printers -a $(INSTDIR) -c
230endif
Luboš Luňákf8062812014-03-23 17:46:23 +0100231 $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(build_goal)
Tor Lillqvist685a12a2013-04-19 09:27:44 +0300232ifeq ($(OS),IOS)
Luboš Luňákf8062812014-03-23 17:46:23 +0100233 $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios
Tor Lillqvist685a12a2013-04-19 09:27:44 +0300234endif
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100235
Bjoern Michaelsen6991dd72013-11-21 14:47:20 +0100236build-non-l10n-only build-l10n-only build-nocheck check debugrun help slowcheck translations unitcheck subsequentcheck packageinfo: build
Bjoern Michaelsen04dead12013-11-13 02:12:48 +0100237
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100238cross-toolset: bootstrap fetch
Luboš Luňákf8062812014-03-23 17:46:23 +0100239 $(MAKE) gb_Side=build $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild build-tools
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100240
Tor Lillqvist18041132013-08-16 11:06:51 +0300241
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100242#
243# Install
244#
245
Bjoern Michaelsenac32aaf2013-11-20 19:36:03 +0100246define gb_Top_DoInstall
247echo "$(1) in $(INSTALLDIR) ..." && \
248ooinstall $(2) "$(INSTALLDIR)"
249
250endef
251
252ifneq ($(OS),MACOSX)
253define gb_Top_InstallFinished
254echo && echo "If you want to edit the .ui files with glade first execute:" && \
255echo && echo "export GLADE_CATALOG_SEARCH_PATH=$(2)/share/glade" && \
256echo && echo "$(1) finished, you can now execute:" && \
257echo "$(2)/program/soffice"
258
259endef
260else
261define gb_Top_InstallFinished
262echo && echo "$(1) finished, you can now run: " && \
263echo "open $(2)/$(PRODUCTNAME).app" && \
264echo "" && \
265echo "To debug: gdb $(2)/$(PRODUCTNAME).app/Contents/MacOS/soffice"
266
267endef
268endif
269
270ifneq ($(OS),MACOSX)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100271install:
Bjoern Michaelsenac32aaf2013-11-20 19:36:03 +0100272 @$(call gb_Top_DoInstall,Installing,)
273 @$(call gb_Top_InstallFinished,Installation,$(INSTALLDIR))
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100274
275install-strip:
Bjoern Michaelsenac32aaf2013-11-20 19:36:03 +0100276 @$(call gb_Top_DoInstall,Installing and stripping binaries,--strip)
277 @$(call gb_Top_InstallFinished,Installation,$(INSTALLDIR))
Tor Lillqvist18041132013-08-16 11:06:51 +0300278endif # !MACOSX
279
Michael Stahlbe592882013-10-01 15:08:15 +0200280dev-install:
Bjoern Michaelsenac32aaf2013-11-20 19:36:03 +0100281 @echo && echo "dev-install is obsolete! Just build with \"make check\" and run"
Michael Stahlbe592882013-10-01 15:08:15 +0200282ifeq ($(OS),MACOSX)
Michael Stahlbd5a6c22013-11-07 22:52:43 +0100283 @echo " open instdir/$(PRODUCTNAME).app"
Michael Stahlbe592882013-10-01 15:08:15 +0200284 @echo
Michael Stahlbd5a6c22013-11-07 22:52:43 +0100285 @echo "To debug: gdb instdir/$(PRODUCTNAME).app/Contents/MacOS/soffice"
Michael Stahlbe592882013-10-01 15:08:15 +0200286else
Michael Stahlbd5a6c22013-11-07 22:52:43 +0100287 @echo " instdir/program/soffice"
Michael Stahlbe592882013-10-01 15:08:15 +0200288endif
289 @echo
290 @echo "(only if you have good reason to test an actual installation: make test-install)"
291 @echo
292 @false
293
294test-install: build
Michael Stahlf1d08892013-10-01 15:30:08 +0200295 @rm -rf $(TESTINSTALLDIR)
Michael Stahlb81f49c2013-10-01 17:39:52 +0200296 @mkdir -p $(TESTINSTALLDIR)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100297ifeq ($(OS_FOR_BUILD),WNT)
Luboš Luňákf8062812014-03-23 17:46:23 +0100298 cd $(SRCDIR)/instsetoo_native && $(MAKE) LIBO_TEST_INSTALL=TRUE $(GMAKE_OPTIONS)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100299else
Michael Stahlb81f49c2013-10-01 17:39:52 +0200300 @ooinstall $(TESTINSTALLDIR)
Tor Lillqvistebdd6162013-02-01 14:48:15 +0200301ifneq ($(MACOSX_CODESIGNING_IDENTITY),)
Tor Lillqvist78264282014-06-10 12:34:10 +0300302 @macosx-codesign-app-bundle $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELASE_BUILD),,Dev).app
Tor Lillqvist2b71c1a2013-01-31 23:22:35 +0200303endif
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100304endif
Bjoern Michaelsenac32aaf2013-11-20 19:36:03 +0100305 @$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR))
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100306
Tor Lillqvist8ff6bfb2014-06-06 18:51:48 +0300307mac-app-store-package: test-install
308ifneq ($(MACOSX_PACKAGE_SIGNING_IDENTITY),)
309 mv "$(TESTINSTALLDIR)/$(PRODUCTNAME).app" "$(MACOSX_APP_NAME).app"
310 productbuild --component "$(MACOSX_APP_NAME).app" /Applications --sign $(MACOSX_PACKAGE_SIGNING_IDENTITY) $(shell echo "$(MACOSX_APP_NAME)" | tr ' ' '-').pkg
311else
312 @echo You did not provide an installer signing identity with --enable-macosx-package-signing
313 @exit 1
314endif
315
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100316distro-pack-install: install
317 $(SRCDIR)/bin/distro-install-clean-up
318 $(SRCDIR)/bin/distro-install-desktop-integration
319 $(SRCDIR)/bin/distro-install-sdk
320 $(SRCDIR)/bin/distro-install-file-lists
321
Bjoern Michaelsenc6fe5c62013-12-08 03:39:37 +0100322install-package-%:
Luboš Luňákf8062812014-03-23 17:46:23 +0100323 $(MAKE) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $@
Bjoern Michaelsenc6fe5c62013-12-08 03:39:37 +0100324
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100325id:
326 @create-ids
327
328tags:
329 @create-tags
330
331docs:
Michael Stahlbc5069a2013-11-01 12:19:09 +0100332 @mkdocs.sh $(SRCDIR)/docs $(SRCDIR)/solenv/inc/doxygen.cfg
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100333
334findunusedcode:
Luboš Luňákf8062812014-03-23 17:46:23 +0100335 @$(SRCDIR)/bin/findunusedcode $(SRCDIR) $(MAKE)
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100336
Bjoern Michaelsene4fbcc52013-10-15 10:18:29 +0200337findunusedheaders:
338 $(SRCDIR)/bin/find-unusedheaders.pl
339
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100340
Michael Meeksd614ca72013-03-04 18:01:19 +0000341dump-deps:
Luboš Luňákf8062812014-03-23 17:46:23 +0100342 @$(SRCDIR)/bin/module-deps.pl $(MAKE) $(SRCDIR)/Makefile.gbuild
Michael Meeksd614ca72013-03-04 18:01:19 +0000343
David Ostrovsky0670c3f2013-03-09 16:08:47 +0100344dump-deps-png:
Luboš Luňákf8062812014-03-23 17:46:23 +0100345 @$(SRCDIR)/bin/module-deps.pl $(MAKE) $(SRCDIR)/Makefile.gbuild | dot -Tpng -o lo.png
David Ostrovsky0670c3f2013-03-09 16:08:47 +0100346
Stephan Bergmanna19440b2014-02-17 18:03:44 +0100347dump-deps-sort:
Luboš Luňákf8062812014-03-23 17:46:23 +0100348 @$(SRCDIR)/bin/module-deps.pl -t $(MAKE) $(SRCDIR)/Makefile.gbuild
Stephan Bergmanna19440b2014-02-17 18:03:44 +0100349
Bjoern Michaelsen60c64b42013-11-20 19:21:34 +0100350define gb_Top_GbuildToIdeIntegration
Bjoern Michaelsenba99e292013-11-15 18:39:46 +0100351$(1)-ide-integration:
Luboš Luňákf8062812014-03-23 17:46:23 +0100352 cd $(SRCDIR) && (LC_MESSAGES=C $(MAKE) cmd="$(MAKE) -npf Makefile.gbuild all" cmd || true) | $(SRCDIR)/bin/gbuild-to-ide --ide $(1)
Bjoern Michaelsenba99e292013-11-15 18:39:46 +0100353
354endef
355
356$(foreach ide,\
Tor Lillqvist61e66d72013-11-26 21:39:58 +0200357 kdevelop \
Honza Havlíček2e2303a2014-02-09 20:58:46 +0100358 vs2012 \
Tor Lillqvist61e66d72013-11-26 21:39:58 +0200359 xcode, \
Bjoern Michaelsen60c64b42013-11-20 19:21:34 +0100360$(eval $(call gb_Top_GbuildToIdeIntegration,$(ide))))
Bjoern Michaelsenba99e292013-11-15 18:39:46 +0100361
Matúš Kukan0e6212c2012-12-23 19:27:28 +0100362endif # MAKE_RESTARTS
363
364# vim: set noet sw=4 ts=4: