Based on patch by Reinhard Tartler <siretart tauware de> Originally committed as revision 21236 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.6
| @@ -9,6 +9,7 @@ vpath %.c $(SRC_DIR) | |||||
| vpath %.h $(SRC_DIR) | vpath %.h $(SRC_DIR) | ||||
| vpath %.S $(SRC_DIR) | vpath %.S $(SRC_DIR) | ||||
| vpath %.asm $(SRC_DIR) | vpath %.asm $(SRC_DIR) | ||||
| vpath %.v $(SRC_DIR) | |||||
| ifeq ($(SRC_DIR),$(SRC_PATH_BARE)) | ifeq ($(SRC_DIR),$(SRC_PATH_BARE)) | ||||
| BUILD_ROOT_REL = . | BUILD_ROOT_REL = . | ||||
| @@ -33,6 +34,9 @@ CPPFLAGS := -DHAVE_AV_CONFIG_H -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS) | |||||
| %$(EXESUF): %.c | %$(EXESUF): %.c | ||||
| %.ver: %.v | |||||
| sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@ | |||||
| SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries | SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries | ||||
| ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) | ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) | ||||
| $(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES) | $(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES) | ||||
| @@ -77,7 +81,7 @@ $(HOSTPROGS): %$(HOSTEXESUF): %.o | |||||
| DEPS := $(OBJS:.o=.d) | DEPS := $(OBJS:.o=.d) | ||||
| depend dep: $(DEPS) | depend dep: $(DEPS) | ||||
| CLEANSUFFIXES = *.d *.o *~ *.ho *.map | |||||
| CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver | |||||
| DISTCLEANSUFFIXES = *.pc | DISTCLEANSUFFIXES = *.pc | ||||
| LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp | LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp | ||||
| @@ -1561,6 +1561,7 @@ tmpfile TMPE $EXESUF | |||||
| tmpfile TMPH .h | tmpfile TMPH .h | ||||
| tmpfile TMPO .o | tmpfile TMPO .o | ||||
| tmpfile TMPS .S | tmpfile TMPS .S | ||||
| tmpfile TMPV .ver | |||||
| tmpfile TMPSH .sh | tmpfile TMPSH .sh | ||||
| unset -f mktemp | unset -f mktemp | ||||
| @@ -2568,6 +2569,10 @@ check_ldflags -Wl,--as-needed | |||||
| check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil' | check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil' | ||||
| check_ldflags -Wl,-Bsymbolic | check_ldflags -Wl,-Bsymbolic | ||||
| echo "X{};" > $TMPV | |||||
| test_ldflags -Wl,--version-script,$TMPV && | |||||
| append SHFLAGS '-Wl,--version-script,\$(SUBDIR)lib\$(NAME).ver' | |||||
| if enabled small; then | if enabled small; then | ||||
| check_cflags -Os # not all compilers support -Os | check_cflags -Os # not all compilers support -Os | ||||
| optimizations="small" | optimizations="small" | ||||
| @@ -0,0 +1,3 @@ | |||||
| LIBAVCODEC_$MAJOR { | |||||
| global: *; | |||||
| }; | |||||
| @@ -0,0 +1,4 @@ | |||||
| LIBAVDEVICE_$MAJOR { | |||||
| global: avdevice_*; | |||||
| local: *; | |||||
| }; | |||||
| @@ -0,0 +1,4 @@ | |||||
| LIBAVFILTER_$MAJOR { | |||||
| global: avfilter_*; av_*; | |||||
| local: *; | |||||
| }; | |||||
| @@ -0,0 +1,3 @@ | |||||
| LIBAVFORMAT_$MAJOR { | |||||
| global: *; | |||||
| }; | |||||
| @@ -0,0 +1,4 @@ | |||||
| LIBAVUTIL_$MAJOR { | |||||
| global: av_*; ff_*; avutil_*; | |||||
| local: *; | |||||
| }; | |||||
| @@ -0,0 +1,4 @@ | |||||
| LIBPOSTPROC_$MAJOR { | |||||
| global: postproc_*; pp_*; | |||||
| local: *; | |||||
| }; | |||||
| @@ -51,7 +51,7 @@ install-libs: install-lib$(NAME)-shared | |||||
| $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) | $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) | ||||
| cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) | cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) | ||||
| $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) | |||||
| $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver | |||||
| $(SLIB_CREATE_DEF_CMD) | $(SLIB_CREATE_DEF_CMD) | ||||
| $(LD) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter %.o,$$^) $(FFEXTRALIBS) $(EXTRAOBJS) | $(LD) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter %.o,$$^) $(FFEXTRALIBS) $(EXTRAOBJS) | ||||
| $(SLIB_EXTRA_CMD) | $(SLIB_EXTRA_CMD) | ||||