# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
java.lang.NullPointerException # This file is part of the LibreOffice project.
java.lang.NullPointerException # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
java.lang.NullPointerException
# Run autogen.sh if needed and force make to restart itself. # ... but there are several cases where we do not want to run # autogen.sh: # 1. if we are building from tarballs, not git checkout (I do not # think packagers would ever want that. I certainly do not.) # 2. if we are making help, clean or distclean, because they do not # need updated configuration
ifeq (,$(MAKE_RESTARTS)$(if $(GIT_BUILD),,T)$(if $(filter-out help showmodules clean distclean,$(MAKECMDGOALS)),,T))
# note: this must touch both Makefile and $(BUILDDIR)/Makefile, because make # may be invoked using either of these paths, and it will restart itself only # if the updated target is exactly the same path as the Makefile it is using
.PHONY : force-restart
Makefile $(BUILDDIR)/Makefile: $(BUILDDIR)/config_host.mk $(BUILDDIR)/config_host_lang.mk force-restart
@touch $@
# run configure in an environment not polluted by config_host.mk
ifneq ($(MSYSTEM),)
WSL:=@WSL@ # wsl needs unix-style path into windows realm, use long form to avoid confusing autogen.sh wrt # builddir != srcdir when in actually it is just srcdir-in-shortform vs srcdir-in-longform # for the same reason cd to the longform of BUILDDIR
$(BUILDDIR)/config_host.mk : SRCDIR:=/$(shell $(WSL) wslpath -u $(shell cygpath -ml $(SRCDIR)))
endif
$(BUILDDIR)/config_host.mk : $(wildcard \
$(SRCDIR)/autogen.sh \
$(SRCDIR)/config_host.mk.in \
$(SRCDIR)/config_host_lang.mk.in \
$(SRCDIR)/Makefile.in \
$(SRCDIR)/instsetoo_native/util/openoffice.lst.in \
$(SRCDIR)/configure.ac \
$(SRCDIR)/config_host/*.h.in \ $(SRCDIR)/distro-configs/*.conf $(SRCDIR)/distro-configs/Jenkins/* \ $(SRCDIR)/download.lst\ $(SRCDIR)/m4/*.m4 \ $(BUILDDIR)/autogen.input\ $(BUILDDIR)/autogen.lastrun\ )\ $(shelliftest-n'$(JAVA_HOME)'-a!-d'$(JAVA_HOME)';thenechoforce-restart;fi) sh-c"$(if$(MSYSTEM),cd$(shellcygpath-ml$(BUILDDIR));$(WSL))$(SRCDIR)/autogen.sh"
help showmodules gbuildtojson pocheck:
$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $@
cross-toolset: bootstrap fetch install-gdb-printers # fetch again in case there are externals only needed on build platform
ifneq ($(OS),iOS)
$(MAKE) gb_Side=build $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(BUILDDIR)/Makefile fetch
endif
$(MAKE) gb_Side=build $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild build-tools
test-install: build
@rm -rf $(TESTINSTALLDIR)
@mkdir -p $(TESTINSTALLDIR)
ifeq ($(OS_FOR_BUILD),WNT)
cd $(SRCDIR)/instsetoo_native && $(MAKE) LIBO_TEST_INSTALL=TRUE $(GMAKE_OPTIONS) else
@WITH_LANG_LIST="$(WITH_LANG_LIST)" $(SRCDIR)/solenv/bin/ooinstall $(TESTINSTALLDIR)
ifeq ($(OS),MACOSX)
java.lang.NullPointerException # Create Resources/*.lproj directories for languages supported by macOS set-x;forlangincacsdadeelenesfifrhrhuiditjakomsnlnoplptpt_PTrorusksvthtrukvizh_CNzh_TW;do\ lproj=$(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Resources/$$lang.lproj;\ mkdir"$$lproj";\ done # #RemoveunnecessaryexecutablesintheLibreOfficePythonframework
rm -rf $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/bin
java.lang.NullPointerException # Remove the python.o object file which is weird and interferes with app store uploading # And with it removed, presumably the other stuff in the Python lib/python3.3/config-3.3m probably does not make sense either.
rm -rf $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/lib/python[1-9]*/config-[1-9]*
java.lang.NullPointerException
ifneq ($(ENABLE_MACOSX_SANDBOX),)
# Remove the gengal binary that we hardly need and the shell scripts # for which code signatures (stored as extended attributes) won't # survive upload to the App Store anyway. See # https://developer.apple.com/library/content/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-TNTAG201 # We could put the shell scripts somewhere in Resources instead, but # no 3rd-party code that would be interested in them would look there # anyway.
rm $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/MacOS/gengal
rm $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/MacOS/unopkg
rm $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/MacOS/unoinfo
endif
ifneq ($(MACOSX_PROVISIONING_PROFILE),)
cp "$(MACOSX_PROVISIONING_PROFILE)" $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/embedded.provisionprofile
endif
ifneq ($(MACOSX_CODESIGNING_IDENTITY),) # Then use the macosx-codesign-app-bundle script
@$(SRCDIR)/solenv/bin/macosx-codesign-app-bundle $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app
endif
endif
endif
@$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR))
# target to bypass the packaging steps/to only assemble the package
mac-app-store-package.prepare: $(BUILDDIR)/$(PLATFORMID)/done
# shorthand target to build a complete package for the currently building architecture
mac-app-store-package: mac-app-store-package.$(PLATFORMID)
# recipe/targets to do the actual packaging # the symbolication switch to productbuild unfortunately is undocumented, but that is what XCode # uses when it creates a package with symbols for uploading to the appstore
mac-app-store-package.$(PLATFORMID) mac-app-store-package.universal: mac-app-store-package.%: $(BUILDDIR)/%/done
ifneq ($(MACOSX_PACKAGE_SIGNING_IDENTITY),)
$(SRCDIR)/solenv/bin/macosx-codesign-app-bundle $*/"$(PRODUCTNAME)".app
productbuild $(if $(ENABLE_SYMBOLS_FOR),--symbolication $*/Symbols) --component $*/"$(PRODUCTNAME)".app /Applications --sign $(MACOSX_PACKAGE_SIGNING_IDENTITY) $(PRODUCTNAME_WITHOUT_SPACES).pkg else
@echo You did not provide an installer signing identity with --enable-macosx-package-signing
@exit 1
endif
# the builds need to persist a standard "make clean" to be able to combine them into a universal # binary, so provide an additional target that can be used standalone or via make distclean
mac-app-store-package.clean:
rm -rf \
$(BUILDDIR)/macosx_x86_64 \
$(BUILDDIR)/macosx_aarch64 \
$(BUILDDIR)/universal \
$(BUILDDIR)/$(PRODUCTNAME_WITHOUT_SPACES).pkg
# used by the mac-app-store targets
$(BUILDDIR)/$(PLATFORMID)/done: test-install
rm -rf $(PLATFORMID)
mkdir -p $(PLATFORMID)/Symbols
mv $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app $(PLATFORMID)/"$(PRODUCTNAME)".app
ifneq ($(ENABLE_SYMBOLS_FOR),)
symbols -arch all -symbolsPackageDir $(PLATFORMID)/Symbols $(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/Frameworks/[^Li]* $(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/Frameworks/intl/l* $(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/MacOS/* strip-S$(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/Frameworks/[^Li]*$(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/Frameworks/intl/l*$(PLATFORMID)/"$(PRODUCTNAME)".app/Contents/MacOS/* endif touch$@
$(foreach ide,\
codelite \
vs \
kdevelop \
vim \
qtcreator \
xcode \
eclipsecdt,\
$(eval $(call gb_Top_GbuildToIdeIntegration,$(ide))))
# vscode integration is based on compile_commands.json, which is generated by vim-ide-integration # the workspace template created by configure doesn't provide advanced/fine grained targets but # rather supplies some useful settings and basic examples for run/debug configurations # this target is provided primarily for consistency with the other ide-integrations
vscode-ide-integration: $(BUILDDIR)/vs-code.code-workspace vim-ide-integration
# ToDo: there probably is a way to have it at least create the compile-commands.json file # for the vim/vs-code integration without building the registry stuff
Rdb:| fetch
gbuildtojson: Rdb
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.