Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/solenv/gbuild/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 3 kB image not shown  

Quelle  CliNativeLibrary.mk   Sprache: Shell

 
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# 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/.
#

# CliNativeLibrary class

gb_CliNativeLibrary_PLATFORM_DEFAULT := x86
gb_CliNativeLibrary_EXT := $(gb_CliAssembly_POLICYEXT)

gb_CliNativeLibrary__get_library = $(call gb_CliAssembly_get_dll,$(1))

define gb_CliNativeLibrary__command
$(call gb_Helper_abbreviate_dirs,\
 $(GNUCOPY) $(CLI_NATIVE_LIBRARY) $(1).tmp && \
 sn -R $(1).tmp $(CLI_NATIVE_KEYFILE) && \
 mv $(1).tmp $(1) \
)
endef

$(call gb_CliNativeLibrary_get_preparation_target,%) :
 mkdir -p $(dir $@) && touch $@

.PHONY : $(call gb_CliNativeLibrary_get_clean_target,%)
$(call gb_CliNativeLibrary_get_clean_target,%) :
 $(call gb_Output_announce,$*,$(false),SN ,4)
 $(call gb_Helper_abbreviate_dirs,\
  rm -rf $(call gb_CliNativeLibrary_get_target,$*) \
    $(call gb_CliNativeLibrary_get_preparation_target,$*) \
 )


# Create a CLI library for a native library
#
# CliNativeLibrary target
define gb_CliNativeLibrary_CliNativeLibrary
$(call gb_CliAssembly_CliAssembly,$(1),$(call gb_CliNativeLibrary_get_target,$(1)))

$(call gb_CliNativeLibrary_get_target,$(1)) : CLI_NATIVE_ASSEMBLIES := $(gb_Helper_MISCDUMMY)
$(call gb_CliNativeLibrary_get_target,$(1)) : CLI_NATIVE_KEYFILE :=
$(call gb_CliNativeLibrary_get_target,$(1)) : CLI_NATIVE_LIBRARY :=


$(call gb_CliNativeLibrary_set_keyfile,$(1),$(gb_CliAssembly_KEYFILE_DEFAULT))
$(call gb_CliAssembly_set_platform,$(1),$(gb_CliNativeLibrary_PLATFORM_DEFAULT))

$(call gb_CliNativeLibrary_get_target,$(1)) :| $(call gb_CliAssembly_get_target,$(1))
$(call gb_CliNativeLibrary_get_target,$(1)) :| $(dir $(call gb_CliNativeLibrary_get_target,$(1))).dir
$(call gb_CliNativeLibrary_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1))

$$(eval $$(call gb_Module_register_target,$(call gb_CliNativeLibrary_get_target,$(1)),$(call gb_CliNativeLibrary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CliNativeLibrary)

$(call gb_CliNativeLibrary_get_target,$(1)) :
 $$(call gb_Output_announce,$(1),$(true),SN ,4)
 $$(call gb_Trace_StartRange,$(1),SN )
 $$(call gb_CliNativeLibrary__command,$$@,$(1))
 $$(call gb_Trace_EndRange,$(1),SN )

endef

define gb_CliNativeLibrary_set_configfile
$(call gb_CliAssembly_set_configfile,$(1),$(2),$(3))

endef

define gb_CliNativeLibrary_set_keyfile
$(call gb_CliAssembly_set_keyfile,$(1),$(2))
$(call gb_CliNativeLibrary_get_target,$(1)) : CLI_NATIVE_KEYFILE := $(2)
$(call gb_CliNativeLibrary_get_target,$(1)) : $(2)

endef

define gb_CliNativeLibrary_set_platform
$(call gb_CliAssembly_set_platform,$(1),$(2))

endef

define gb_CliNativeLibrary_set_policy
$(call gb_CliAssembly_set_policy,$(1),$(2),$(3))

endef

define gb_CliNativeLibrary_wrap_library
$(call gb_CliNativeLibrary_get_target,$(1)) : \
 CLI_NATIVE_LIBRARY := $(call gb_CliNativeLibrary__get_library,$(2))
$(call gb_CliNativeLibrary_get_target,$(1)) : \
 $(call gb_Library_get_target,$(2))
$(call gb_Library_get_headers_target,$(2)) : \
 $(call gb_CliNativeLibrary_get_preparation_target,$(1))

endef

define gb_CliNativeLibrary_use_assembly
$(call gb_CliNativeLibrary_get_target,$(1)) : \
 CLI_NATIVE_ASSEMBLIES += $(call gb_CliLibrary_get_target,$(2))
$(call gb_CliNativeLibrary_get_preparation_target,$(1)) : \
 $(call gb_CliLibrary_get_target,$(2))

endef

define gb_CliNativeLibrary_use_assemblies
$(foreach assembly,$(2),$(call gb_CliNativeLibrary_use_assembly,$(1),$(assembly)))

endef

# vim: set noet sw=4 ts=4:

Messung V0.5
C=81 H=95 G=88

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.