Originally committed as revision 12760 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -6,8 +6,6 @@ include config.mak | |||
| SRC_DIR = $(SRC_PATH_BARE) | |||
| vpath %.c $(SRC_PATH_BARE) | |||
| vpath %.h $(SRC_PATH_BARE) | |||
| vpath %.texi $(SRC_PATH_BARE) | |||
| PROGS-$(CONFIG_FFMPEG) += ffmpeg | |||
| @@ -30,6 +28,14 @@ FFLIBS-$(CONFIG_SWSCALE) += swscale | |||
| FFLIBS := avdevice avformat avcodec avutil | |||
| include common.mak | |||
| FF_LDFLAGS := $(FFLDFLAGS) | |||
| FF_EXTRALIBS := $(FFEXTRALIBS) | |||
| S := $(BUILD_SHARED:yes=S) | |||
| DEP_LIBS := $(foreach L,$(FFLIBS),lib$(L)/$($(S)LIBPREF)$(L)$($(S)LIBSUF)) | |||
| ALL_TARGETS-$(CONFIG_VHOOK) += videohook | |||
| ALL_TARGETS-$(BUILD_DOC) += documentation | |||
| @@ -40,7 +46,7 @@ INSTALL_TARGETS-$(BUILD_DOC) += install-man | |||
| endif | |||
| INSTALL_PROGS_TARGETS-$(BUILD_SHARED) = install-libs | |||
| main: lib $(PROGS) $(ALL_TARGETS-yes) | |||
| all: $(DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes) | |||
| $(PROGS): %$(EXESUF): %_g$(EXESUF) | |||
| cp -p $< $@ | |||
| @@ -48,13 +54,20 @@ $(PROGS): %$(EXESUF): %_g$(EXESUF) | |||
| .depend: version.h $(PROGS_SRCS) | |||
| # bandaid to disable triggering shared library installation routines | |||
| DISABLE=yes | |||
| SUBDIR_VARS := OBJS ASM_OBJS CPP_OBJS FFLIBS CLEANFILES | |||
| include common.mak | |||
| define RESET | |||
| $(1) := | |||
| $(1)-yes := | |||
| endef | |||
| S := $(BUILD_SHARED:yes=S) | |||
| DEP_LIBS := $(foreach L,$(FFLIBS),lib$(L)/$($(S)LIBPREF)$(L)$($(S)LIBSUF)) | |||
| define DOSUBDIR | |||
| $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) | |||
| SUBDIR := $(1)/ | |||
| include $(1)/Makefile | |||
| endef | |||
| $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) | |||
| VHOOKCFLAGS += $(filter-out -mdynamic-no-pic,$(CFLAGS)) | |||
| @@ -78,23 +91,11 @@ VHOOKCFLAGS += $(VHOOKCFLAGS-yes) | |||
| vhook/%.o: CFLAGS:=$(VHOOKCFLAGS) | |||
| MAKE-yes = $(MAKE) | |||
| MAKE- = : $(MAKE) | |||
| lib: | |||
| $(MAKE) -C libavutil all | |||
| $(MAKE) -C libavcodec all | |||
| $(MAKE) -C libavformat all | |||
| $(MAKE) -C libavdevice all | |||
| $(MAKE-$(CONFIG_POSTPROC)) -C libpostproc all | |||
| $(MAKE-$(CONFIG_SWSCALE)) -C libswscale all | |||
| $(MAKE-$(CONFIG_AVFILTER)) -C libavfilter all | |||
| ffplay_g$(EXESUF): EXTRALIBS += $(SDL_LIBS) | |||
| ffserver_g$(EXESUF): LDFLAGS += $(FFSERVERLDFLAGS) | |||
| ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS) | |||
| ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS) | |||
| %_g$(EXESUF): %.o cmdutils.o .libs | |||
| $(CC) $(LDFLAGS) -o $@ $< cmdutils.o $(EXTRALIBS) | |||
| %_g$(EXESUF): %.o cmdutils.o $(DEP_LIBS) | |||
| $(CC) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS) | |||
| SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries | |||
| ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) | |||
| @@ -104,18 +105,18 @@ endif | |||
| version.h: | |||
| $(SRC_PATH)/version.sh $(SRC_PATH) | |||
| output_example$(EXESUF): output_example.o .libs | |||
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(EXTRALIBS) | |||
| output_example$(EXESUF): output_example.o $(DEP_LIBS) | |||
| $(CC) $(CFLAGS) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) | |||
| tools/%$(EXESUF): tools/%.c | |||
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(EXTRALIBS) | |||
| $(CC) $(CFLAGS) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) | |||
| ffplay.o .depend: CFLAGS += $(SDL_CFLAGS) | |||
| ffmpeg.o ffplay.o ffserver.o: version.h | |||
| # vhooks compile fine without libav*, but need them nonetheless. | |||
| videohook: .libs $(HOOKS) | |||
| videohook: $(DEP_LIBS) $(HOOKS) | |||
| vhook/%$(SLIBSUF): vhook/%.o | |||
| $(CC) $(LDFLAGS) -o $@ $(VHOOKSHFLAGS) $< $(VHOOKLIBS) $(LIBS_$(@F)) | |||
| @@ -148,24 +149,6 @@ install-vhook: videohook | |||
| install -d "$(SHLIBDIR)/vhook" | |||
| install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook" | |||
| install-libs: | |||
| $(MAKE) -C libavutil install-libs | |||
| $(MAKE) -C libavcodec install-libs | |||
| $(MAKE) -C libavformat install-libs | |||
| $(MAKE) -C libavdevice install-libs | |||
| $(MAKE-$(CONFIG_POSTPROC)) -C libpostproc install-libs | |||
| $(MAKE-$(CONFIG_SWSCALE)) -C libswscale install-libs | |||
| $(MAKE-$(CONFIG_AVFILTER)) -C libavfilter install-libs | |||
| install-headers:: | |||
| $(MAKE) -C libavutil install-headers | |||
| $(MAKE) -C libavcodec install-headers | |||
| $(MAKE) -C libavformat install-headers | |||
| $(MAKE) -C libavdevice install-headers | |||
| $(MAKE-$(CONFIG_POSTPROC)) -C libpostproc install-headers | |||
| $(MAKE) -C libswscale install-headers | |||
| $(MAKE-$(CONFIG_AVFILTER)) -C libavfilter install-headers | |||
| uninstall: uninstall-progs uninstall-man uninstall-vhook | |||
| uninstall-progs: | |||
| @@ -178,51 +161,13 @@ uninstall-vhook: | |||
| rm -f $(addprefix "$(SHLIBDIR)/",$(ALLHOOKS_SRCS:.c=$(SLIBSUF))) | |||
| -rmdir "$(SHLIBDIR)/vhook/" | |||
| uninstall-libs:: | |||
| $(MAKE) -C libavutil uninstall-libs | |||
| $(MAKE) -C libavcodec uninstall-libs | |||
| $(MAKE) -C libavformat uninstall-libs | |||
| $(MAKE) -C libavdevice uninstall-libs | |||
| $(MAKE) -C libpostproc uninstall-libs | |||
| $(MAKE) -C libswscale uninstall-libs | |||
| $(MAKE) -C libavfilter uninstall-libs | |||
| uninstall-headers:: | |||
| $(MAKE) -C libavutil uninstall-headers | |||
| $(MAKE) -C libavcodec uninstall-headers | |||
| $(MAKE) -C libavformat uninstall-headers | |||
| $(MAKE) -C libavdevice uninstall-headers | |||
| $(MAKE) -C libpostproc uninstall-headers | |||
| $(MAKE) -C libswscale uninstall-headers | |||
| $(MAKE) -C libavfilter uninstall-headers | |||
| -rmdir "$(INCDIR)" | |||
| depend dep: .vhookdep | |||
| $(MAKE) -C libavutil depend | |||
| $(MAKE) -C libavcodec depend | |||
| $(MAKE) -C libavformat depend | |||
| $(MAKE) -C libavdevice depend | |||
| $(MAKE-$(CONFIG_POSTPROC)) -C libpostproc depend | |||
| $(MAKE-$(CONFIG_SWSCALE)) -C libswscale depend | |||
| $(MAKE-$(CONFIG_AVFILTER)) -C libavfilter depend | |||
| .vhookdep: $(ALLHOOKS_SRCS) version.h | |||
| $(VHOOK_DEPEND_CMD) > $@ | |||
| $(DEP_LIBS): lib | |||
| .libs: $(DEP_LIBS) | |||
| touch $@ | |||
| clean:: | |||
| $(MAKE) -C libavutil clean | |||
| $(MAKE) -C libavcodec clean | |||
| $(MAKE) -C libavformat clean | |||
| $(MAKE) -C libavdevice clean | |||
| $(MAKE) -C libpostproc clean | |||
| $(MAKE) -C libswscale clean | |||
| $(MAKE) -C libavfilter clean | |||
| rm -f .libs gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \ | |||
| rm -f gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \ | |||
| output_example$(EXESUF) | |||
| rm -f doc/*.html doc/*.pod doc/*.1 | |||
| rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/asynth1.sw tests/*~ | |||
| @@ -231,13 +176,6 @@ clean:: | |||
| rm -f vhook/*.o vhook/*~ vhook/*.so vhook/*.dylib vhook/*.dll | |||
| distclean:: | |||
| $(MAKE) -C libavutil distclean | |||
| $(MAKE) -C libavcodec distclean | |||
| $(MAKE) -C libavformat distclean | |||
| $(MAKE) -C libavdevice distclean | |||
| $(MAKE) -C libpostproc distclean | |||
| $(MAKE) -C libswscale distclean | |||
| $(MAKE) -C libavfilter distclean | |||
| rm -f .vhookdep version.h config.* *.pc | |||
| # regression tests | |||
| @@ -404,10 +342,10 @@ tests/asynth1.sw: tests/audiogen$(EXESUF) | |||
| $(BUILD_ROOT)/$< $@ | |||
| %$(EXESUF): %.c | |||
| $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< | |||
| $(CC) $(FF_LDFLAGS) $(CFLAGS) -o $@ $< | |||
| tests/seek_test$(EXESUF): tests/seek_test.c .libs | |||
| $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< $(EXTRALIBS) | |||
| tests/seek_test$(EXESUF): tests/seek_test.c $(DEP_LIBS) | |||
| $(CC) $(FF_LDFLAGS) $(CFLAGS) -o $@ $< $(FF_EXTRALIBS) | |||
| .PHONY: lib videohook documentation TAGS | |||
| @@ -2,47 +2,18 @@ | |||
| # common bits used by all libraries | |||
| # | |||
| SRC_DIR = $(SRC_PATH_BARE)/lib$(NAME) | |||
| LIBVERSION = $(lib$(NAME)_VERSION) | |||
| LIBMAJOR = $(lib$(NAME)_VERSION_MAJOR) | |||
| all: # make "all" default target | |||
| ifeq ($(SUBDIR),) | |||
| vpath %.c $(SRC_DIR) | |||
| vpath %.h $(SRC_DIR) | |||
| vpath %.S $(SRC_DIR) | |||
| ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale | |||
| CFLAGS += $(CFLAGS-yes) | |||
| OBJS += $(OBJS-yes) | |||
| ASM_OBJS += $(ASM_OBJS-yes) | |||
| CPP_OBJS += $(CPP_OBJS-yes) | |||
| FFLIBS += $(FFLIBS-yes) | |||
| CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ | |||
| -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \ | |||
| $(addprefix -I$(SRC_PATH)/lib,$(ALLFFLIBS)) $(OPTFLAGS) | |||
| EXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS) | |||
| LDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(FFLIBS)) $(LDFLAGS) | |||
| SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPP_OBJS:.o=.cpp) | |||
| OBJS := $(OBJS) $(ASM_OBJS) $(CPP_OBJS) | |||
| all: $(LIBNAME) $(SLIBNAME) | |||
| $(LIBNAME)$(DISABLE): $(OBJS) | |||
| rm -f $@ | |||
| $(AR) rc $@ $^ $(EXTRAOBJS) | |||
| $(RANLIB) $@ | |||
| $(SLIBNAME)$(DISABLE): $(SLIBNAME_WITH_MAJOR) | |||
| $(LN_S) $^ $@ | |||
| $(SLIBNAME_WITH_MAJOR): $(OBJS) | |||
| $(SLIB_CREATE_DEF_CMD) | |||
| $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) | |||
| $(SLIB_EXTRA_CMD) | |||
| CFLAGS = -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ | |||
| -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \ | |||
| $(addprefix -I$(SRC_PATH)/lib,$(ALLFFLIBS)) $(OPTFLAGS) | |||
| %.o: %.c | |||
| $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< | |||
| @@ -50,75 +21,59 @@ $(SLIBNAME_WITH_MAJOR): $(OBJS) | |||
| %.o: %.S | |||
| $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< | |||
| %: %.o $(LIBNAME) | |||
| $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) | |||
| %.ho: %.h | |||
| $(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $< | |||
| ALLHEADERS = $(subst $(SRC_DIR)/,,$(wildcard $(SRC_DIR)/*.h)) | |||
| checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho)) | |||
| depend dep: .depend | |||
| install: install-libs install-headers | |||
| .depend: $(SRCS) | |||
| $(DEPEND_CMD) > .depend | |||
| uninstall: uninstall-libs uninstall-headers | |||
| clean:: | |||
| rm -f *.o *~ *.a *.lib *.so *.so.* *.dylib *.dll \ | |||
| *.def *.dll.a *.exp *.ho *.map $(TESTS) | |||
| .PHONY: all depend dep clean distclean install* uninstall* tests | |||
| endif | |||
| distclean:: clean | |||
| rm -f .depend | |||
| CFLAGS += $(CFLAGS-yes) | |||
| OBJS += $(OBJS-yes) | |||
| ASM_OBJS += $(ASM_OBJS-yes) | |||
| CPP_OBJS += $(CPP_OBJS-yes) | |||
| FFLIBS := $(FFLIBS-yes) $(FFLIBS) | |||
| INSTALL_LIB_TARGETS-$(BUILD_SHARED) += install-lib-shared | |||
| INSTALL_LIB_TARGETS-$(BUILD_STATIC) += install-lib-static | |||
| FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS) | |||
| FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(FFLIBS)) $(LDFLAGS) | |||
| install: install-libs install-headers | |||
| SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPP_OBJS:.o=.cpp) | |||
| OBJS := $(OBJS) $(ASM_OBJS) $(CPP_OBJS) | |||
| install-libs$(DISABLE): $(INSTALL_LIB_TARGETS-yes) | |||
| SRCS := $(addprefix $(SUBDIR),$(SRCS)) | |||
| OBJS := $(addprefix $(SUBDIR),$(OBJS)) | |||
| TESTS := $(addprefix $(SUBDIR),$(TESTS)) | |||
| install-lib-shared: $(SLIBNAME) | |||
| install -d "$(SHLIBDIR)" | |||
| install -m 755 $(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| $(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| cd "$(SHLIBDIR)" && \ | |||
| $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) | |||
| cd "$(SHLIBDIR)" && \ | |||
| $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) | |||
| $(SLIB_INSTALL_EXTRA_CMD) | |||
| ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h)) | |||
| checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho)) | |||
| install-lib-static: $(LIBNAME) | |||
| install -d "$(LIBDIR)" | |||
| install -m 644 $(LIBNAME) "$(LIBDIR)" | |||
| $(LIB_INSTALL_EXTRA_CMD) | |||
| depend dep: $(SUBDIR).depend | |||
| INCINSTDIR = $(INCDIR)/lib$(NAME) | |||
| CLEANFILES += *.o *~ *.a *.lib *.so *.so.* *.dylib *.dll \ | |||
| *.def *.dll.a *.exp *.ho *.map | |||
| install-headers$(DISABLE):: | |||
| install -d "$(INCINSTDIR)" | |||
| install -d "$(LIBDIR)/pkgconfig" | |||
| install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)" | |||
| install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(LIBDIR)/pkgconfig" | |||
| define RULES | |||
| $(SUBDIR)%: $(SUBDIR)%.o $(LIBNAME) | |||
| $(CC) $(FFLDFLAGS) -o $$@ $$^ $(FFEXTRALIBS) | |||
| uninstall: uninstall-libs uninstall-headers | |||
| $(SUBDIR)%-test$(EXESUF): $(SUBDIR)%.c $(LIBNAME) | |||
| $(CC) $(CFLAGS) $(FFLDFLAGS) -DTEST -o $$@ $$^ $(FFEXTRALIBS) | |||
| uninstall-libs:: | |||
| -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ | |||
| "$(SHLIBDIR)/$(SLIBNAME)" \ | |||
| "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| -$(SLIB_UNINSTALL_EXTRA_CMD) | |||
| -rm -f "$(LIBDIR)/$(LIBNAME)" | |||
| $(SUBDIR).depend: $(SRCS) | |||
| $(DEPEND_CMD) > $$@ | |||
| uninstall-headers:: | |||
| rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS)) | |||
| rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc" | |||
| clean:: | |||
| rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES)) | |||
| tests: $(TESTS) | |||
| distclean:: clean | |||
| rm -f $(SUBDIR).depend | |||
| endef | |||
| %-test$(EXESUF): %.c $(LIBNAME) | |||
| $(CC) $(CFLAGS) $(LDFLAGS) -DTEST -o $@ $^ $(EXTRALIBS) | |||
| $(eval $(RULES)) | |||
| .PHONY: all depend dep clean distclean install* uninstall* tests | |||
| tests: $(TESTS) | |||
| -include .depend | |||
| -include $(SUBDIR).depend | |||
| @@ -940,7 +940,7 @@ SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' | |||
| LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' | |||
| # gcc stupidly only outputs the basename of targets with -MM | |||
| DEPEND_CMD='$(CC) -MM $(CFLAGS) $(filter-out %.h,$^) | sed "s,[0-9a-z._-]*: \($(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"' | |||
| DEPEND_CMD='$(CC) -MM $(CFLAGS) $(filter-out %.h,$$^) | sed "s,[0-9a-z._-]*: \($(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,;s,^.*:,\$$$$(SUBDIR)&,"' | |||
| VHOOK_DEPEND_CMD='$(CC) -MM $(VHOOKCFLAGS) $(filter-out %.h,$^) | sed "s,^\([a-z]\),vhook/\\1,"' | |||
| # find source path | |||
| @@ -1105,7 +1105,7 @@ case $target_os in | |||
| darwin) | |||
| disable need_memalign | |||
| SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR) -Wl,-read_only_relocs,suppress' | |||
| VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@' | |||
| VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$$@' | |||
| strip="strip -x" | |||
| FFLDFLAGS="-Wl,-dynamic,-search_paths_first" | |||
| SLIBSUF=".dylib" | |||
| @@ -1128,10 +1128,10 @@ case $target_os in | |||
| EXESUF=".exe" | |||
| SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' | |||
| SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' | |||
| SLIB_EXTRA_CMD='-lib /machine:i386 /def:$(@:$(SLIBSUF)=.def)' | |||
| SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' | |||
| SLIB_EXTRA_CMD='-lib /machine:i386 /def:$$(@:$(SLIBSUF)=.def)' | |||
| SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' | |||
| SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' | |||
| SHFLAGS='-shared -Wl,--output-def,$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' | |||
| SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' | |||
| ;; | |||
| cygwin*) | |||
| target_os=cygwin | |||
| @@ -1168,22 +1168,22 @@ case $target_os in | |||
| ln_s="cp -f" | |||
| EXESUF=".exe" | |||
| FFLDFLAGS="-Zomf -Zbin-files -Zargs-wild -Zmap" | |||
| SHFLAGS='$(NAME).def -Zdll -Zomf' | |||
| SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf' | |||
| FFSERVERLDFLAGS="" | |||
| LIBSUF="_s.a" | |||
| SLIBPREF="" | |||
| SLIBSUF=".dll" | |||
| SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' | |||
| SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' | |||
| SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(NAME).def; \ | |||
| echo PROTMODE >> $(NAME).def; \ | |||
| echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(NAME).def; \ | |||
| echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(NAME).def; \ | |||
| echo EXPORTS >> $(NAME).def; \ | |||
| emxexp -o $(OBJS) >> $(NAME).def' | |||
| SLIB_EXTRA_CMD='emximp -o $(LIBPREF)$(NAME)_dll.a $(NAME).def; \ | |||
| emximp -o $(LIBPREF)$(NAME)_dll.lib $(NAME).def;' | |||
| SLIB_INSTALL_EXTRA_CMD='install -m 644 $(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"' | |||
| SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ | |||
| echo PROTMODE >> $(SUBDIR)$(NAME).def; \ | |||
| echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ | |||
| echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ | |||
| echo EXPORTS >> $(SUBDIR)$(NAME).def; \ | |||
| emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def' | |||
| SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ | |||
| emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' | |||
| SLIB_INSTALL_EXTRA_CMD='install -m 644 $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"' | |||
| SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib' | |||
| disable vhook | |||
| ;; | |||
| @@ -2096,6 +2096,7 @@ if enabled source_path_used; then | |||
| FILES="\ | |||
| Makefile \ | |||
| common.mak \ | |||
| subdir.mak \ | |||
| doc/texi2pod.pl \ | |||
| libavcodec/Makefile \ | |||
| libavdevice/Makefile \ | |||
| @@ -2,7 +2,7 @@ | |||
| # libavcodec Makefile | |||
| # (c) 2000-2005 Fabrice Bellard | |||
| # | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = avcodec | |||
| FFLIBS = avutil | |||
| @@ -449,7 +449,7 @@ ALTIVEC-OBJS-$(CONFIG_VC1_DECODER) += ppc/vc1dsp_altivec.o | |||
| ALTIVEC-OBJS-$(CONFIG_WMV3_DECODER) += ppc/vc1dsp_altivec.o | |||
| # -maltivec is needed in order to build AltiVec code. | |||
| $(ALTIVEC-OBJS-yes): CFLAGS += -maltivec -mabi=altivec | |||
| $(addprefix $(SUBDIR),$(ALTIVEC-OBJS-yes)): CFLAGS += -maltivec -mabi=altivec | |||
| # check_altivec must be built without -maltivec | |||
| OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS-yes) \ | |||
| @@ -469,23 +469,22 @@ ifeq ($(ARCH_X86),yes) | |||
| TESTS += cpuid-test$(EXESUF) motion-test$(EXESUF) | |||
| endif | |||
| include ../common.mak | |||
| clean:: | |||
| rm -f \ | |||
| alpha/*.o alpha/*~ \ | |||
| armv4l/*.o armv4l/*~ \ | |||
| bfin/*.o bfin/*~ \ | |||
| i386/*.o i386/*~ \ | |||
| mlib/*.o mlib/*~ \ | |||
| ppc/*.o ppc/*~ \ | |||
| ps2/*.o ps2/*~ \ | |||
| sh4/*.o sh4/*~ \ | |||
| sparc/*.o sparc/*~ \ | |||
| apiexample$(EXESUF) | |||
| cpuid-test$(EXESUF): i386/cputest.c | |||
| apiexample$(EXESUF): apiexample.o $(LIBNAME) | |||
| dct-test$(EXESUF): dct-test.o fdctref.o $(LIBNAME) | |||
| fft-test$(EXESUF): fft-test.o $(LIBNAME) | |||
| motion-test$(EXESUF): motion-test.o $(LIBNAME) | |||
| CLEANFILES = \ | |||
| alpha/*.o alpha/*~ \ | |||
| armv4l/*.o armv4l/*~ \ | |||
| bfin/*.o bfin/*~ \ | |||
| i386/*.o i386/*~ \ | |||
| mlib/*.o mlib/*~ \ | |||
| ppc/*.o ppc/*~ \ | |||
| ps2/*.o ps2/*~ \ | |||
| sh4/*.o sh4/*~ \ | |||
| sparc/*.o sparc/*~ \ | |||
| apiexample$(EXESUF) | |||
| include $(SUBDIR)../subdir.mak | |||
| $(SUBDIR)cpuid-test$(EXESUF): $(SUBDIR)i386/cputest.c | |||
| $(SUBDIR)apiexample$(EXESUF): $(SUBDIR)apiexample.o $(SUBDIR)$(LIBNAME) | |||
| $(SUBDIR)dct-test$(EXESUF): $(SUBDIR)dct-test.o fdctref.o $(SUBDIR)$(LIBNAME) | |||
| $(SUBDIR)fft-test$(EXESUF): $(SUBDIR)fft-test.o $(SUBDIR)$(LIBNAME) | |||
| $(SUBDIR)motion-test$(EXESUF): $(SUBDIR)motion-test.o $(SUBDIR)$(LIBNAME) | |||
| @@ -1,4 +1,4 @@ | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = avdevice | |||
| FFLIBS = avformat avcodec avutil | |||
| @@ -23,4 +23,4 @@ OBJS-$(CONFIG_LIBDC1394_DEMUXER) += libdc1394.o | |||
| CPP_OBJS-$(CONFIG_AUDIO_BEOS_DEMUXER) += beosaudio.o | |||
| CPP_OBJS-$(CONFIG_AUDIO_BEOS_MUXER) += beosaudio.o | |||
| include ../common.mak | |||
| include $(SUBDIR)../subdir.mak | |||
| @@ -1,4 +1,4 @@ | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = avfilter | |||
| FFLIBS = avcodec avutil | |||
| @@ -14,4 +14,4 @@ OBJS = allfilters.o \ | |||
| HEADERS = avfilter.h | |||
| include ../common.mak | |||
| include $(SUBDIR)../subdir.mak | |||
| @@ -2,7 +2,7 @@ | |||
| # libavformat Makefile | |||
| # (c) 2000-2003 Fabrice Bellard | |||
| # | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = avformat | |||
| FFLIBS = avcodec avutil | |||
| @@ -198,4 +198,4 @@ OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o | |||
| OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o | |||
| OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o | |||
| include ../common.mak | |||
| include $(SUBDIR)../subdir.mak | |||
| @@ -1,4 +1,4 @@ | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = avutil | |||
| @@ -41,9 +41,8 @@ HEADERS = adler32.h \ | |||
| TESTS = $(addsuffix -test$(EXESUF), adler32 aes crc des lls md5 sha1 softfloat tree) | |||
| include ../common.mak | |||
| include $(SUBDIR)../subdir.mak | |||
| lzo-test$(EXESUF): EXTRALIBS += -llzo2 | |||
| $(SUBDIR)lzo-test$(EXESUF): EXTRALIBS += -llzo2 | |||
| clean:: | |||
| rm -f lzo-test$(EXESUF) | |||
| CLEANFILES = lzo-test$(EXESUF) | |||
| @@ -1,4 +1,4 @@ | |||
| include ../config.mak | |||
| include $(SUBDIR)../config.mak | |||
| NAME = postproc | |||
| FFLIBS = avutil | |||
| @@ -7,4 +7,4 @@ HEADERS = postprocess.h | |||
| OBJS = postprocess.o | |||
| include ../common.mak | |||
| include $(SUBDIR)../subdir.mak | |||
| @@ -0,0 +1,75 @@ | |||
| SRC_DIR := $(SRC_PATH_BARE)/lib$(NAME) | |||
| include $(SUBDIR)../common.mak | |||
| LIBVERSION := $(lib$(NAME)_VERSION) | |||
| LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR) | |||
| ifeq ($(BUILD_STATIC),yes) | |||
| all: $(SUBDIR)$(LIBNAME) | |||
| install-libs: install-lib$(NAME)-static | |||
| $(SUBDIR)$(LIBNAME): $(OBJS) | |||
| rm -f $@ | |||
| $(AR) rc $@ $^ $(EXTRAOBJS) | |||
| $(RANLIB) $@ | |||
| endif | |||
| INCINSTDIR := $(INCDIR)/lib$(NAME) | |||
| define RULES | |||
| ifeq ($(BUILD_SHARED),yes) | |||
| all: $(SUBDIR)$(SLIBNAME) | |||
| install-libs: install-lib$(NAME)-shared | |||
| $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) | |||
| cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) | |||
| $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) | |||
| $(SLIB_CREATE_DEF_CMD) | |||
| $(CC) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$^ $(FFEXTRALIBS) $(EXTRAOBJS) | |||
| $(SLIB_EXTRA_CMD) | |||
| ifneq ($(SUBDIR),) | |||
| $(SUBDIR)$(SLIBNAME_WITH_MAJOR): \ | |||
| $(foreach L,$(FFLIBS),lib$(L)/$(SLIBPREF)$(L)$(SLIBSUF)) | |||
| endif | |||
| endif | |||
| install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME) | |||
| install -d "$(SHLIBDIR)" | |||
| install -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| $(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| cd "$(SHLIBDIR)" && \ | |||
| $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) | |||
| cd "$(SHLIBDIR)" && \ | |||
| $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) | |||
| $(SLIB_INSTALL_EXTRA_CMD) | |||
| install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME) | |||
| install -d "$(LIBDIR)" | |||
| install -m 644 $(SUBDIR)$(LIBNAME) "$(LIBDIR)" | |||
| $(LIB_INSTALL_EXTRA_CMD) | |||
| install-headers:: | |||
| install -d "$(INCINSTDIR)" | |||
| install -d "$(LIBDIR)/pkgconfig" | |||
| install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)" | |||
| install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(LIBDIR)/pkgconfig" | |||
| uninstall-libs:: | |||
| -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ | |||
| "$(SHLIBDIR)/$(SLIBNAME)" \ | |||
| "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |||
| -$(SLIB_UNINSTALL_EXTRA_CMD) | |||
| -rm -f "$(LIBDIR)/$(LIBNAME)" | |||
| uninstall-headers:: | |||
| rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS)) | |||
| rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc" | |||
| -rmdir "$(INCDIR)" | |||
| endef | |||
| $(eval $(RULES)) | |||