]> git.sesse.net Git - ffmpeg/blobdiff - Makefile
parse_options(): Avoid passing NULL as a string arg to fprintf
[ffmpeg] / Makefile
index f1bede83db844fcd92518183c08f47e862cef260..966afc636b3a84a89660d43a2c50f7fea9b5de4f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,40 +7,8 @@ vpath %.asm  $(SRC_PATH)
 vpath %.v    $(SRC_PATH)
 vpath %.texi $(SRC_PATH)
 
-ifndef V
-Q      = @
-ECHO   = printf "$(1)\t%s\n" $(2)
-BRIEF  = CC AS YASM AR LD HOSTCC
-SILENT = DEPCC YASMDEP RM RANLIB
-MSG    = $@
-M      = @$(call ECHO,$(TAG),$@);
-$(foreach VAR,$(BRIEF), \
-    $(eval override $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
-$(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
-$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_PATH)/%=%)); $(INSTALL))
-endif
-
-IFLAGS     := -I. -I$(SRC_PATH)
-CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
-CFLAGS     += $(ECFLAGS)
-YASMFLAGS  += $(IFLAGS) -Pconfig.asm
-HOSTCFLAGS += $(IFLAGS)
-
-%.o: %.c
-       $(CCDEP)
-       $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) -c $(CC_O) $<
-
-%.o: %.S
-       $(ASDEP)
-       $(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) -c -o $@ $<
-
-%.ho: %.h
-       $(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
-
-%.ver: %.v
-       $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
-
-%.c %.h: TAG = GEN
+# Do not delete intermediate files from chains of implicit rules
+$(OBJS):
 
 PROGS-$(CONFIG_FFMPEG)   += ffmpeg
 PROGS-$(CONFIG_FFPLAY)   += ffplay
@@ -48,6 +16,7 @@ PROGS-$(CONFIG_FFPROBE)  += ffprobe
 PROGS-$(CONFIG_FFSERVER) += ffserver
 
 PROGS      := $(PROGS-yes:%=%$(EXESUF))
+PROGS_G     = $(PROGS-yes:%=%_g$(EXESUF))
 OBJS        = $(PROGS-yes:%=%.o) cmdutils.o
 TOOLS       = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher))
 TESTTOOLS   = audiogen videogen rotozoom tiny_psnr base64
@@ -55,6 +24,7 @@ HOSTPROGS  := $(TESTTOOLS:%=tests/%)
 
 BASENAMES   = ffmpeg ffplay ffprobe ffserver
 ALLPROGS    = $(BASENAMES:%=%$(EXESUF))
+ALLPROGS_G  = $(BASENAMES:%=%_g$(EXESUF))
 ALLMANPAGES = $(BASENAMES:%=%.1)
 
 ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
@@ -72,6 +42,7 @@ DATA_FILES := $(wildcard $(SRC_PATH)/ffpresets/*.ffpreset)
 
 SKIPHEADERS = cmdutils_common_opts.h
 
+MAIN_MAKEFILE=1
 include common.mak
 
 FF_LDFLAGS   := $(FFLDFLAGS)
@@ -80,6 +51,10 @@ FF_DEP_LIBS  := $(DEP_LIBS)
 
 all: $(FF_DEP_LIBS) $(PROGS)
 
+$(PROGS): %$(EXESUF): %_g$(EXESUF)
+       $(CP) $< $@
+       $(STRIP) $@
+
 config.h: .config
 .config: $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c))
        @-tput bold 2>/dev/null
@@ -104,10 +79,10 @@ endef
 $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
 
 ffplay.o: CFLAGS += $(SDL_CFLAGS)
-ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
-ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
+ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
+ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
 
-$(PROGS): %$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
+%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
        $(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
 
 alltools: $(TOOLS)
@@ -161,7 +136,7 @@ uninstall-data:
        $(RM) -r "$(DATADIR)"
 
 clean::
-       $(RM) $(ALLPROGS)
+       $(RM) $(ALLPROGS) $(ALLPROGS_G)
        $(RM) $(CLEANSUFFIXES)
        $(RM) $(TOOLS)
        $(RM) $(CLEANSUFFIXES:%=tools/%)
@@ -171,9 +146,9 @@ distclean::
        $(RM) config.* .version version.h libavutil/avconfig.h
 
 config:
-       $(SRC_PATH)/configure $(value LIBAV_CONFIGURATION)
+       $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
 
-check: test checkheaders
+check: test
 
 include doc/Makefile
 include tests/Makefile