Commit dac096cf authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'bb0babd7'

* commit 'bb0babd7':
  build: Support executable only ldflags

Conflicts:
	Makefile
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 7f1543d4 bb0babd7
...@@ -63,7 +63,7 @@ FF_DEP_LIBS := $(DEP_LIBS) ...@@ -63,7 +63,7 @@ FF_DEP_LIBS := $(DEP_LIBS)
all: $(AVPROGS) all: $(AVPROGS)
$(TOOLS): %$(EXESUF): %.o $(EXEOBJS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
$(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS) $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS)
tools/cws2fws$(EXESUF): ELIBS = $(ZLIB) tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)
tools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS) tools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS)
...@@ -117,7 +117,7 @@ $(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF) ...@@ -117,7 +117,7 @@ $(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
$(STRIP) $@ $(STRIP) $@
%$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS) %$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
OBJDIRS += tools OBJDIRS += tools
......
...@@ -299,6 +299,7 @@ Toolchain options: ...@@ -299,6 +299,7 @@ Toolchain options:
--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS] --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS]
--extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS] --extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS]
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS] --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]
--extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS]
--extra-libs=ELIBS add ELIBS [$ELIBS] --extra-libs=ELIBS add ELIBS [$ELIBS]
--extra-version=STRING version string suffix [] --extra-version=STRING version string suffix []
--optflags=OPTFLAGS override optimization-related compiler flags --optflags=OPTFLAGS override optimization-related compiler flags
...@@ -758,6 +759,10 @@ add_ldflags(){ ...@@ -758,6 +759,10 @@ add_ldflags(){
append LDFLAGS $($ldflags_filter "$@") append LDFLAGS $($ldflags_filter "$@")
} }
add_ldexeflags(){
append LDEXEFLAGS $($ldflags_filter "$@")
}
add_stripflags(){ add_stripflags(){
append ASMSTRIPFLAGS "$@" append ASMSTRIPFLAGS "$@"
} }
...@@ -2829,6 +2834,9 @@ for opt do ...@@ -2829,6 +2834,9 @@ for opt do
--extra-ldflags=*) --extra-ldflags=*)
add_ldflags $optval add_ldflags $optval
;; ;;
--extra-ldexeflags=*)
add_ldexeflags $optval
;;
--extra-libs=*) --extra-libs=*)
add_extralibs $optval add_extralibs $optval
;; ;;
...@@ -5419,6 +5427,7 @@ WINDRES=$windres ...@@ -5419,6 +5427,7 @@ WINDRES=$windres
DEPWINDRES=$dep_cc DEPWINDRES=$dep_cc
DOXYGEN=$doxygen DOXYGEN=$doxygen
LDFLAGS=$LDFLAGS LDFLAGS=$LDFLAGS
LDEXEFLAGS=$LDEXEFLAGS
SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) SHFLAGS=$(echo $($ldflags_filter $SHFLAGS))
ASMSTRIPFLAGS=$ASMSTRIPFLAGS ASMSTRIPFLAGS=$ASMSTRIPFLAGS
YASMFLAGS=$YASMFLAGS YASMFLAGS=$YASMFLAGS
......
...@@ -35,6 +35,9 @@ to your project LDFLAGS: ...@@ -35,6 +35,9 @@ to your project LDFLAGS:
-Wl,-Bsymbolic -Wl,-Bsymbolic
@end example @end example
If your target platform requires position independent binaries, you should
pass the correct linking flag (e.g. @code{-pie}) to @code{--extra-ldexeflags}.
@section BSD @section BSD
BSD make will not build FFmpeg, you need to install and use GNU Make BSD make will not build FFmpeg, you need to install and use GNU Make
......
...@@ -46,7 +46,7 @@ $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB)) ...@@ -46,7 +46,7 @@ $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB))
$(TESTPROGS): THISLIB = $(SUBDIR)$(LIBNAME) $(TESTPROGS): THISLIB = $(SUBDIR)$(LIBNAME)
$(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
$$(LD) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $(FFEXTRALIBS) $$(ELIBS) $$(LD) $(LDFLAGS) $(LDEXEFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $(FFEXTRALIBS) $$(ELIBS)
$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
$(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment