macosx.mk (cea60463) macosx.mk (c4e9543b)
1#**************************************************************
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance

--- 274 unchanged lines hidden (view full) ---

283 $(patsubst %,-l%,$(EXTERNAL_LIBS)) \
284 > $${DYLIB_FILE} && \
285 $(gb_CXX) \
286 $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
287 $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
288 $(subst \d,$$,$(RPATH)) \
289 $(T_LDFLAGS) $(gb_macos_LDFLAGS) \
290 $(if $(VERSIONMAP),$(gb_Library_VERSIONMAPFLAG) $(VERSIONMAP)) \
1#**************************************************************
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance

--- 274 unchanged lines hidden (view full) ---

283 $(patsubst %,-l%,$(EXTERNAL_LIBS)) \
284 > $${DYLIB_FILE} && \
285 $(gb_CXX) \
286 $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
287 $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
288 $(subst \d,$$,$(RPATH)) \
289 $(T_LDFLAGS) $(gb_macos_LDFLAGS) \
290 $(if $(VERSIONMAP),$(gb_Library_VERSIONMAPFLAG) $(VERSIONMAP)) \
291 $(if $(call gb_Library_is_udk_versioned,$(1)),-Wl$(COMMA)-h$(notdir $(1)).$(gb_UDK_MAJOR)) \
291 $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
292 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
293 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
294 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
295 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
296 $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
297 $(LIBS) \
292 $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
293 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
294 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
295 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
296 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
297 $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
298 $(LIBS) \
298 -o $(1) \
299 -o $(if $(call gb_Library_is_udk_versioned,$(1)),$(1).$(gb_UDK_MAJOR),$(1)) \
299 `cat $${DYLIB_FILE}` && \
300 $(if $(filter Library,$(TARGETTYPE)),\
301 $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Library $(LAYER) $(1) && \
302 ln -sf $(1) $(patsubst %.dylib,%.jnilib,$(1)) &&) \
303 rm -f $${DYLIB_FILE})
304endef
305
300 `cat $${DYLIB_FILE}` && \
301 $(if $(filter Library,$(TARGETTYPE)),\
302 $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Library $(LAYER) $(1) && \
303 ln -sf $(1) $(patsubst %.dylib,%.jnilib,$(1)) &&) \
304 rm -f $${DYLIB_FILE})
305endef
306
307define gb_LinkTarget__command_symlink_udk_versioned_library
308 $(if $(call gb_Library_is_udk_versioned,$(1)),
309 $(call gb_Helper_abbreviate_dirs,\
310 rm -f $(1) && ln -s $(notdir $(1)).$(gb_UDK_MAJOR) $(1)))
311endef
312
306# parameters: 1-linktarget 2-cobjects 3-cxxobjects
307define gb_LinkTarget__command_staticlink
308$(call gb_Helper_abbreviate_dirs,\
309 mkdir -p $(dir $(1)) && \
310 $(gb_AR) -rsu $(1) \
311 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
312 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
313 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
314 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
315 2> /dev/null)
316endef
317
318define gb_LinkTarget__command
319$(call gb_Output_announce,$(2),$(true),LNK,4)
320$(if $(filter Library GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
313# parameters: 1-linktarget 2-cobjects 3-cxxobjects
314define gb_LinkTarget__command_staticlink
315$(call gb_Helper_abbreviate_dirs,\
316 mkdir -p $(dir $(1)) && \
317 $(gb_AR) -rsu $(1) \
318 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
319 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
320 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
321 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
322 2> /dev/null)
323endef
324
325define gb_LinkTarget__command
326$(call gb_Output_announce,$(2),$(true),LNK,4)
327$(if $(filter Library GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
328$(if $(filter Library,$(TARGETTYPE)),$(call gb_LinkTarget__command_symlink_udk_versioned_library,$(1)))
321$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
322endef
323
324
325# Library class
326
327gb_Library_DEFS :=
328gb_Library_TARGETTYPEFLAGS := -dynamiclib -single_module

--- 41 unchanged lines hidden (view full) ---

370
371define gb_Library_get_rpath
372$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
373endef
374
375define gb_Library_Library_platform
376$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
377$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1))
329$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
330endef
331
332
333# Library class
334
335gb_Library_DEFS :=
336gb_Library_TARGETTYPEFLAGS := -dynamiclib -single_module

--- 41 unchanged lines hidden (view full) ---

378
379define gb_Library_get_rpath
380$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
381endef
382
383define gb_Library_Library_platform
384$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
385$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1))
378
386ifneq (,$(call gb_Library_is_udk_versioned,$(call gb_Library_get_target,$(1))))
387$(call gb_Library_get_target,$(1)) \
388$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS += \
389 $(call gb_Library_get_target,$(1)).$(gb_UDK_MAJOR)
390endif
379endef
380
381
382# StaticLibrary class
383
384gb_StaticLibrary_DEFS :=
385gb_StaticLibrary_SYSPRE := lib
386gb_StaticLibrary_PLAINEXT := .a

--- 99 unchanged lines hidden ---
391endef
392
393
394# StaticLibrary class
395
396gb_StaticLibrary_DEFS :=
397gb_StaticLibrary_SYSPRE := lib
398gb_StaticLibrary_PLAINEXT := .a

--- 99 unchanged lines hidden ---