PROGS-$(CONFIG_FFSERVER) += ffserver
PROGS := $(PROGS-yes:%=%$(EXESUF))
-PROGS_G = $(PROGS-yes:%=%_g$(EXESUF))
OBJS = $(PROGS-yes:%=%.o) cmdutils.o
MANPAGES = $(PROGS-yes:%=doc/%.1)
PODPAGES = $(PROGS-yes:%=doc/%.pod)
BASENAMES = ffmpeg ffplay ffprobe ffserver
ALLPROGS = $(BASENAMES:%=%$(EXESUF))
-ALLPROGS_G = $(BASENAMES:%=%_g$(EXESUF))
ALLMANPAGES = $(BASENAMES:%=%.1)
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes)
-$(PROGS): %$(EXESUF): %_g$(EXESUF)
- $(CP) $< $@
- $(STRIP) $@
-
config.h: .config
.config: $(wildcard $(FFLIBS:%=$(SRC_DIR)/lib%/all*.c))
@-tput bold 2>/dev/null
$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
-ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
-ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
+ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
+ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
-%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
+%$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
tools/%$(EXESUF): tools/%.o
$(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
clean:: testclean
- $(RM) $(ALLPROGS) $(ALLPROGS_G)
+ $(RM) $(ALLPROGS)
$(RM) $(CLEANSUFFIXES)
$(RM) doc/*.html doc/*.pod doc/*.1
$(RM) $(TOOLS)
ifndef V
Q = @
ECHO = printf "$(1)\t%s\n" $(2)
-BRIEF = CC AS YASM AR LD HOSTCC STRIP CP
+BRIEF = CC AS YASM AR LD HOSTCC
SILENT = DEPCC YASMDEP RM RANLIB
MSG = $@
M = @$(call ECHO,$(TAG),$@);
--enable-debug=LEVEL set the debug level [$debuglevel]
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
- --disable-stripping disable stripping of executables and shared libraries
--samples=PATH location of test samples for FATE, if not set use
\$FATE_SAMPLES at make invocation time.
extra_warnings
logging
optimizations
- stripping
symver
yasm
"
pkg_config
samples
source_path
- strip
sysinclude
sysroot
target_exec
objformat="elf"
pkg_config_default=pkg-config
ranlib="ranlib"
-strip_default="strip"
yasmexe="yasm"
nogas=":"
enable optimizations
enable protocols
enable static
-enable stripping
enable swscale
enable swscale_alpha
nm_default="${cross_prefix}${nm_default}"
pkg_config_default="${cross_prefix}${pkg_config_default}"
ranlib="${cross_prefix}${ranlib}"
-strip_default="${cross_prefix}${strip_default}"
sysinclude_default="${sysroot}/usr/include"
-set_default cc nm pkg_config strip sysinclude
+set_default cc nm pkg_config sysinclude
enabled cross_compile || host_cc_default=$cc
set_default host_cc
;;
bsd/os)
add_extralibs -lpoll -lgnugetopt
- strip="strip -d"
;;
darwin)
enable malloc_aligned
enabled ppc && add_asflags -force_cpusubtype_ALL
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
- strip="${strip} -x"
add_ldflags -Wl,-dynamic,-search_paths_first
SLIBSUF=".dylib"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
ranlib="echo ignoring ranlib"
;;
os/2*)
- strip="lxlite -CS"
ln_s="cp -f"
add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
echo "VIS enabled ${vis-no}"
fi
echo "debug symbols ${debug-no}"
-echo "strip symbols ${stripping-no}"
echo "optimizations ${optimizations-no}"
echo "static ${static-no}"
echo "shared ${shared-no}"
map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES
fi
-enabled stripping || strip="echo skipping strip"
-
config_files="$TMPH config.mak"
cat > config.mak <<EOF
YASMDEP=$yasmexe
AR=$ar
RANLIB=$ranlib
-CP=cp -p
LN_S=$ln_s
-STRIP=$strip
CPPFLAGS=$CPPFLAGS
CFLAGS=$CFLAGS
ASFLAGS=$ASFLAGS
install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
$(Q)mkdir -p "$(SHLIBDIR)"
$$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
- $$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
$(Q)cd "$(SHLIBDIR)" && \
$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
$(Q)cd "$(SHLIBDIR)" && \