X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=common.mak;h=babcd10329d83c8f4375251dd5777a38c4cf1d39;hb=0dd954b1f088244606e84f3ef062a8932b5a7c48;hp=cecb48897df8cc58fe380305f6fe1638009c777f;hpb=997baf014130b85828d918cb4054c17e57a8e1e5;p=ffmpeg diff --git a/common.mak b/common.mak index cecb48897df..babcd10329d 100644 --- a/common.mak +++ b/common.mak @@ -5,25 +5,29 @@ VPATH = $(SRC_PATH_BARE)/lib$(NAME) SRC_DIR = "$(VPATH)" +CFLAGS += $(CFLAGS-yes) +OBJS += $(OBJS-yes) +ASM_OBJS += $(ASM_OBJS-yes) +CPP_OBJS += $(CPP_OBJS-yes) + CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \ -I$(SRC_PATH)/libavutil $(OPTFLAGS) + SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp) OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS) -STATIC_OBJS := $(OBJS) $(STATIC_OBJS) -SHARED_OBJS := $(OBJS) $(SHARED_OBJS) -all: $(EXTRADEPS) $(LIB) $(SLIBNAME) +all: $(LIBNAME) $(SLIBNAME) -$(LIB): $(STATIC_OBJS) +$(LIBNAME): $(OBJS) rm -f $@ $(AR) rc $@ $^ $(EXTRAOBJS) $(RANLIB) $@ $(SLIBNAME): $(SLIBNAME_WITH_MAJOR) - ln -sf $^ $@ + $(LN_S) $^ $@ -$(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS) +$(SLIBNAME_WITH_MAJOR): $(OBJS) $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) $(SLIB_EXTRA_CMD) @@ -33,71 +37,66 @@ $(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS) %.o: %.S $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< -# BeOS: remove -Wall to get rid of all the "multibyte constant" warnings -%.o: %.cpp - g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $< - -%: %.o $(LIB) +%: %.o $(LIBNAME) $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) +%.ho: %.h + $(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $< + +ALLHEADERS = $(subst $(VPATH)/,,$(wildcard $(VPATH)/*.h)) +checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho)) + depend dep: $(SRCS) $(CC) -MM $(CFLAGS) $^ 1>.depend clean:: - rm -f *.o *.d *~ *.a *.lib *.so *.so.* *.dylib *.dll \ - *.lib *.def *.dll.a *.exp + rm -f *.o *~ *.a *.lib *.so *.so.* *.dylib *.dll \ + *.def *.dll.a *.exp *.ho distclean: clean rm -f .depend -ifeq ($(BUILD_SHARED),yes) -INSTLIBTARGETS += install-lib-shared -endif -ifeq ($(BUILD_STATIC),yes) -INSTLIBTARGETS += install-lib-static -endif +INSTALL_TARGETS-$(BUILD_SHARED) += install-lib-shared +INSTALL_TARGETS-$(BUILD_STATIC) += install-lib-static install: install-libs install-headers -install-libs: $(INSTLIBTARGETS) +install-libs: $(INSTALL_TARGETS-yes) install-lib-shared: $(SLIBNAME) - install -d "$(shlibdir)" - install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ - "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" - cd "$(shlibdir)" && \ - ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) - cd "$(shlibdir)" && \ - ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME) - -install-lib-static: $(LIB) - install -d "$(libdir)" - install -m 644 $(LIB) "$(libdir)" + 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) + +install-lib-static: $(LIBNAME) + install -d "$(LIBDIR)" + install -m 644 $(LIBNAME) "$(LIBDIR)" $(LIB_INSTALL_EXTRA_CMD) install-headers: - install -d "$(incdir)" - install -d "$(libdir)/pkgconfig" - install -m 644 $(addprefix $(SRC_DIR)/,$(HEADERS)) "$(incdir)" - install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig" + install -d "$(INCDIR)" + install -d "$(LIBDIR)/pkgconfig" + install -m 644 $(addprefix $(SRC_DIR)/,$(HEADERS)) "$(INCDIR)" + install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(LIBDIR)/pkgconfig" uninstall: uninstall-libs uninstall-headers uninstall-libs: - -rm -f "$(shlibdir)/$(SLIBNAME_WITH_MAJOR)" \ - "$(shlibdir)/$(SLIBNAME)" \ - "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" - -rm -f "$(libdir)/$(LIB)" + -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 "$(incdir)/",$(HEADERS)) - rm -f "$(libdir)/pkgconfig/lib$(NAME).pc" +uninstall-headers:: + rm -f $(addprefix "$(INCDIR)/",$(HEADERS)) + rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc" .PHONY: all depend dep clean distclean install* uninstall* -# -# include dependency files if they exist -# -ifneq ($(wildcard .depend),) -include .depend -endif +-include .depend