mk: add support for passing LDFLAGS to libs and bins
autotools-based systems usually allow user to
append own LDFLAGS like
    LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
at ./configure stage
This change plumbs LDFLAGS through similar to existing CXXFLAGS variable.
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
			
			
This commit is contained in:
		
							parent
							
								
									57daa860e8
								
							
						
					
					
						commit
						fe068eca00
					
				
					 3 changed files with 5 additions and 4 deletions
				
			
		|  | @ -91,7 +91,7 @@ define build-library | |||
|     $(1)_PATH := $$(_d)/$$($(1)_NAME).$(SO_EXT) | ||||
| 
 | ||||
|     $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/ | ||||
| 	$$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED) | ||||
| 	$$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED) | ||||
| 
 | ||||
|     ifneq ($(OS), Darwin) | ||||
|       $(1)_LDFLAGS_USE += -Wl,-rpath,$$(abspath $$(_d)) | ||||
|  | @ -105,7 +105,7 @@ define build-library | |||
|     $$(eval $$(call create-dir, $$($(1)_INSTALL_DIR))) | ||||
| 
 | ||||
|     $$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | $(DESTDIR)$$($(1)_INSTALL_DIR)/ | ||||
| 	$$(trace-ld) $(CXX) -o $$@ -shared $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) | ||||
| 	$$(trace-ld) $(CXX) -o $$@ -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) | ||||
| 
 | ||||
|     $(1)_LDFLAGS_USE_INSTALLED += -L$$(DESTDIR)$$($(1)_INSTALL_DIR) -l$$(patsubst lib%,%,$$(strip $$($(1)_NAME))) | ||||
|     ifneq ($(OS), Darwin) | ||||
|  |  | |||
|  | @ -32,7 +32,7 @@ define build-program | |||
|   $$(eval $$(call create-dir, $$(_d))) | ||||
| 
 | ||||
|   $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/ | ||||
| 	$$(trace-ld) $(CXX) -o $$@ $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) | ||||
| 	$$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) | ||||
| 
 | ||||
|   $(1)_INSTALL_DIR ?= $$(bindir) | ||||
|   $(1)_INSTALL_PATH := $$($(1)_INSTALL_DIR)/$(1) | ||||
|  | @ -46,7 +46,7 @@ define build-program | |||
|     _libs_final := $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_INSTALL_PATH)) | ||||
| 
 | ||||
|     $(DESTDIR)$$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | $(DESTDIR)$$($(1)_INSTALL_DIR)/ | ||||
| 	$$(trace-ld) $(CXX) -o $$@ $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) | ||||
| 	$$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) | ||||
| 
 | ||||
|   else | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue