This syntax is useful to specify libraries linked to all userspace programs in the Makefile.
Unified · Split
| @@ -937,6 +937,10 @@ Example:: · 936 unmodified lines | ||
| 937 | 937 | # net/bpfilter/Makefile |
| 938 | 938 | bpfilter_umh-userldflags += -static |
| 939 | 939 | |
| 940 | +To specify libraries linked to a userspace program, you can use | |
| 941 | +``<executable>-userldlibs``. The ``userldlibs`` syntax specifies libraries | |
| 942 | +linked to all userspace programs created in the current Makefile. | |
| 943 | + | |
| 940 | 944 | When linking bpfilter_umh, it will be passed the extra option -static. |
| 941 | 945 | |
| 942 | 946 | From command line, :ref:`USERCFLAGS and USERLDFLAGS <userkbuildflags>` will also be used. |
| @@ -19,19 +19,19 @@ user-cobjs := $(addprefix $(obj)/, $(user-cobjs)) · 18 unmodified lines | ||
| 19 | 19 | user_ccflags = -Wp,-MMD,$(depfile) $(KBUILD_USERCFLAGS) $(userccflags) \ |
| 20 | 20 | $($(target-stem)-userccflags) |
| 21 | 21 | user_ldflags = $(KBUILD_USERLDFLAGS) $(userldflags) $($(target-stem)-userldflags) |
| 22 | +user_ldlibs = $(userldlibs) $($(target-stem)-userldlibs) | |
| 22 | 23 | |
| 23 | 24 | # Create an executable from a single .c file |
| 24 | 25 | quiet_cmd_user_cc_c = CC [U] $@ |
| 25 | 26 | cmd_user_cc_c = $(CC) $(user_ccflags) $(user_ldflags) -o $@ $< \ |
| 26 | − $($(target-stem)-userldlibs) | |
| 27 | + $(user_ldlibs) | |
| 27 | 28 | $(user-csingle): $(obj)/%: $(src)/%.c FORCE |
| 28 | 29 | $(call if_changed_dep,user_cc_c) |
| 29 | 30 | |
| 30 | 31 | # Link an executable based on list of .o files |
| 31 | 32 | quiet_cmd_user_ld = LD [U] $@ |
| 32 | 33 | cmd_user_ld = $(CC) $(user_ldflags) -o $@ \ |
| 33 | − $(addprefix $(obj)/, $($(target-stem)-objs)) \ | |
| 34 | − $($(target-stem)-userldlibs) | |
| 34 | + $(addprefix $(obj)/, $($(target-stem)-objs)) $(user_ldlibs) | |
| 35 | 35 | $(user-cmulti): FORCE |
| 36 | 36 | $(call if_changed,user_ld) |
| 37 | 37 | $(call multi_depend, $(user-cmulti), , -objs) |