2 LDFLAG_DRIVER
:=-shared
--subsystem
=native
3 LDFLAG_NOSTDLIB
:=-nostartfiles
-nostdlib
4 LDFLAG_CONSOLE
:=--subsystem
=console
5 LDFLAG_WINDOWS
:=--subsystem
=windows
6 LDFLAG_NATIVE
:=--subsystem
=native
8 #(module, objs, deps, ldflags, output, def, libs, entry, base)
12 ${call RBUILD_intermediate_dir
,$(5)}$$(SEP
)lib
${call RBUILD_name
,$(5)}.a
: $(6) |
${call RBUILD_intermediate_path
,$(5)}
14 $${dlltool} --def
$(6) --kill-at
--output-lib
=$$@
16 ${call RBUILD_intermediate_dir
,$(5)}$$(SEP
)lib
${call RBUILD_name
,$(5)}.delayimp.a
: $(6) |
${call RBUILD_intermediate_path
,$(5)}
18 $${dlltool} --def
$(6) --kill-at
--output-delaylib
=$$@
20 ${call RBUILD_intermediate_path_noext
,$(5)}.exp
: $(6) |
${call RBUILD_intermediate_path
,$(5)}
22 $${dlltool} --def
$(6) --kill-at
--output-exp
=$$@
25 ${call RBUILD_intermediate_dir
,$(5)}$$(SEP
)lib
$(notdir $(5)).a \
26 ${call RBUILD_intermediate_dir
,$(5)}$$(SEP
)lib
$(notdir $(5)).delayimp.a \
27 ${call RBUILD_intermediate_path_noext
,$(5)}.exp
30 $(5): $(2) $$(if
$(6),${call RBUILD_intermediate_path_noext
,$(5)}.exp
) $(7) $(3) $$(RSYM_TARGET
) $$(PEFIXUP_TARGET
) |
${call RBUILD_dir
,$(5)}
32 $${ld} --entry
=$(8) --image-base
=$(9) $(2) $$(if
$(6),${call RBUILD_intermediate_path_noext
,$(5)}.exp
) $(7) ${call RBUILD_ldflags
,$(1),$(4)} -o
$$@
33 ifneq ($(or
$(6),$$(MODULETYPE
$$($(1)_TYPE
)_KMODE
)),)
35 $$(Q
)$$(PEFIXUP_TARGET
) $$@
$(if
$(6),-exports
) $$(if
$$(MODULETYPE
$($(1)_TYPE
)_KMODE
),-sections
)
37 ifeq ($(ROS_BUILDMAP
),full
)
39 $${objdump} -d
-S
$$@
> ${call RBUILD_output_path_noext
,$(5)}.map
41 ifeq ($(ROS_BUILDMAP
),yes
)
43 $${nm} --numeric-sort
$$@
> ${call RBUILD_output_path_noext
,$(5)}.map
46 ifeq ($(ROS_BUILDNOSTRIP
),yes
)
48 $${cp} $(5) $(basename $(5)).nostrip
$(suffix $(5)) 1>$(NUL
)
50 ifneq ($(ROS_GENERATE_RSYM
),no
)
52 $$(Q
)$$(RSYM_TARGET
) $$@
$$@
54 ifeq ($(ROS_LEAN_AND_MEAN
),yes
)
56 $${strip} -s
-x
-X
$$@
59 ifneq ($(ROS_BUILDMAP
),)
60 $(1)_CLEANFILES
+=${call RBUILD_output_path_noext
,$(5)}.map
63 ifeq ($(ROS_BUILDNOSTRIP
),yes
)
64 $(1)_CLEANFILES
+=$(basename $(5)).nostrip
$(suffix $(5))
69 #(module, def, deps, ldflags, libs, entry, base)
70 RBUILD_LINK_RULE
=${call RBUILD_LINK
,$(1),$(value
$(1)_OBJS
),$(3),$(4),$(value
$(1)_TARGET
),$(2),$(5) $(value
$(1)_LIBS
) $(5),$(6),$(7)}