| OLD | NEW |
| 1 # | 1 # |
| 2 # common bits used by all libraries | 2 # common bits used by all libraries |
| 3 # | 3 # |
| 4 | 4 |
| 5 all: # make "all" default target | 5 all: # make "all" default target |
| 6 | 6 |
| 7 ifndef SUBDIR | 7 ifndef SUBDIR |
| 8 vpath %.c $(SRC_DIR) | 8 vpath %.c $(SRC_DIR) |
| 9 vpath %.h $(SRC_DIR) | 9 vpath %.h $(SRC_DIR) |
| 10 vpath %.S $(SRC_DIR) | 10 vpath %.S $(SRC_DIR) |
| 11 vpath %.asm $(SRC_DIR) | 11 vpath %.asm $(SRC_DIR) |
| 12 vpath %.v $(SRC_DIR) | 12 vpath %.v $(SRC_DIR) |
| 13 | 13 |
| 14 ifeq ($(SRC_DIR),$(SRC_PATH_BARE)) | 14 ifeq ($(SRC_DIR),$(SRC_PATH_BARE)) |
| 15 BUILD_ROOT_REL = . | 15 BUILD_ROOT_REL = . |
| 16 else | 16 else |
| 17 BUILD_ROOT_REL = .. | 17 BUILD_ROOT_REL = .. |
| 18 endif | 18 endif |
| 19 | 19 |
| 20 ifndef V |
| 21 Q = @ |
| 22 ECHO = printf "$(1)\t%s\n" $(2) |
| 23 BRIEF = CC AS YASM AR LD HOSTCC RANLIB STRIP CP |
| 24 SILENT = DEPCC YASMDEP RM |
| 25 MSG = $@ |
| 26 $(foreach VAR,$(BRIEF), \ |
| 27 $(eval $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR)))) |
| 28 $(foreach VAR,$(SILENT),$(eval $(VAR) = @$($(VAR)))) |
| 29 $(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL)) |
| 30 endif |
| 31 |
| 20 ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale | 32 ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale |
| 21 | 33 |
| 22 CPPFLAGS := -DHAVE_AV_CONFIG_H -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS) | 34 CPPFLAGS := -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS) |
| 23 CFLAGS += $(ECFLAGS) | 35 CFLAGS += $(ECFLAGS) |
| 24 | 36 |
| 25 %.o: %.c | 37 %.o: %.c |
| 26 $(CCDEP) | 38 $(CCDEP) |
| 27 $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) -c $(CC_O) $< | 39 $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) -c $(CC_O) $< |
| 28 | 40 |
| 29 %.o: %.S | 41 %.o: %.S |
| 30 $(ASDEP) | 42 $(ASDEP) |
| 31 $(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) -c -o $@ $< | 43 $(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) -c -o $@ $< |
| 32 | 44 |
| 33 %.ho: %.h | 45 %.ho: %.h |
| 34 $(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $< | 46 $(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $< |
| 35 | 47 |
| 36 %$(EXESUF): %.c | 48 %$(EXESUF): %.c |
| 37 | 49 |
| 38 %.ver: %.v | 50 %.ver: %.v |
| 39 » sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@ | 51 » $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@ |
| 40 | 52 |
| 41 SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries | 53 SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries |
| 42 ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) | 54 ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) |
| 43 $(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES) | 55 $(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES) |
| 44 endif | 56 endif |
| 45 | 57 |
| 46 $(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh config.mak | 58 $(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh config.mak |
| 47 $< $(SRC_PATH) $@ $(EXTRA_VERSION) | 59 $< $(SRC_PATH) $@ $(EXTRA_VERSION) |
| 48 | 60 |
| 49 install: install-libs install-headers | 61 install: install-libs install-headers |
| 50 | 62 |
| 51 uninstall: uninstall-libs uninstall-headers | 63 uninstall: uninstall-libs uninstall-headers |
| 52 | 64 |
| 53 .PHONY: all depend dep *clean install* uninstall* examples testprogs | 65 .PHONY: all depend dep *clean install* uninstall* examples testprogs |
| 66 |
| 67 # Disable suffix rules. Most of the builtin rules are suffix rules, |
| 68 # so this saves some time on slow systems. |
| 69 .SUFFIXES: |
| 70 |
| 71 # Do not delete intermediate files from chains of implicit rules |
| 72 .SECONDARY: |
| 54 endif | 73 endif |
| 55 | 74 |
| 56 OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes) | 75 OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes) |
| 57 | 76 |
| 58 CFLAGS += $(CFLAGS-yes) | 77 CFLAGS += $(CFLAGS-yes) |
| 59 OBJS += $(OBJS-yes) | 78 OBJS += $(OBJS-yes) |
| 60 FFLIBS := $(FFLIBS-yes) $(FFLIBS) | 79 FFLIBS := $(FFLIBS-yes) $(FFLIBS) |
| 61 TESTPROGS += $(TESTPROGS-yes) | 80 TESTPROGS += $(TESTPROGS-yes) |
| 62 | 81 |
| 63 FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS) | 82 FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS) |
| 64 FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(ALLFFLIBS)) $(LDFLAGS) | 83 FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(ALLFFLIBS)) $(LDFLAGS) |
| 65 | 84 |
| 66 EXAMPLES := $(addprefix $(SUBDIR),$(addsuffix -example$(EXESUF),$(EXAMPLES))) | 85 EXAMPLES := $(addprefix $(SUBDIR),$(addsuffix -example$(EXESUF),$(EXAMPLES))) |
| 67 OBJS := $(addprefix $(SUBDIR),$(OBJS)) | 86 OBJS := $(addprefix $(SUBDIR),$(OBJS)) |
| 87 TESTOBJS := $(addprefix $(SUBDIR),$(TESTOBJS)) |
| 68 TESTPROGS := $(addprefix $(SUBDIR),$(addsuffix -test$(EXESUF),$(TESTPROGS))) | 88 TESTPROGS := $(addprefix $(SUBDIR),$(addsuffix -test$(EXESUF),$(TESTPROGS))) |
| 69 HOSTOBJS := $(addprefix $(SUBDIR),$(addsuffix .o,$(HOSTPROGS))) | 89 HOSTOBJS := $(addprefix $(SUBDIR),$(addsuffix .o,$(HOSTPROGS))) |
| 70 HOSTPROGS := $(addprefix $(SUBDIR),$(addsuffix $(HOSTEXESUF),$(HOSTPROGS))) | 90 HOSTPROGS := $(addprefix $(SUBDIR),$(addsuffix $(HOSTEXESUF),$(HOSTPROGS))) |
| 71 | 91 |
| 72 DEP_LIBS := $(foreach NAME,$(FFLIBS),$(BUILD_ROOT_REL)/lib$(NAME)/$($(CONFIG_SHA
RED:yes=S)LIBNAME)) | 92 DEP_LIBS := $(foreach NAME,$(FFLIBS),$(BUILD_ROOT_REL)/lib$(NAME)/$($(CONFIG_SHA
RED:yes=S)LIBNAME)) |
| 73 | 93 |
| 74 ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)
/$(ARCH)/*.h)) | 94 ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)
/$(ARCH)/*.h)) |
| 75 SKIPHEADERS = $(addprefix $(SUBDIR),$(SKIPHEADERS-)) | 95 SKIPHEADERS += $(addprefix $(ARCH)/,$(ARCH_HEADERS)) |
| 96 SKIPHEADERS := $(addprefix $(SUBDIR),$(SKIPHEADERS-) $(SKIPHEADERS)) |
| 76 checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho)) | 97 checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho)) |
| 77 | 98 |
| 78 $(HOSTOBJS): %.o: %.c | 99 $(HOSTOBJS): %.o: %.c |
| 79 $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $< | 100 $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $< |
| 80 | 101 |
| 81 $(HOSTPROGS): %$(HOSTEXESUF): %.o | 102 $(HOSTPROGS): %$(HOSTEXESUF): %.o |
| 82 $(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) | 103 $(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) |
| 83 | 104 |
| 84 DEPS := $(OBJS:.o=.d) | 105 DEPS := $(OBJS:.o=.d) |
| 85 depend dep: $(DEPS) | 106 depend dep: $(DEPS) |
| 86 | 107 |
| 87 CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver | 108 CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver |
| 88 DISTCLEANSUFFIXES = *.pc | 109 DISTCLEANSUFFIXES = *.pc |
| 89 LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp | 110 LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp |
| 90 | 111 |
| 91 -include $(wildcard $(DEPS)) | 112 -include $(wildcard $(DEPS)) |
| OLD | NEW |