X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=common.mak;h=43bcc57355df48d4aed67be28130ffc4168a6b1c;hb=1963f5e379260370582383ff69c83cd06d9c50c1;hp=24ccaedb8236eb4ee113316de0353d9c84cd3628;hpb=06aa32ff18eefd9bcd9755405d7ec72288509d21;p=ffmpeg diff --git a/common.mak b/common.mak index 24ccaedb823..43bcc57355d 100644 --- a/common.mak +++ b/common.mak @@ -2,22 +2,17 @@ # common bits used by all libraries # -SRC_DIR = $(SRC_PATH)/$(SUBDIR) -VPATH = $(SRC_DIR) +VPATH = $(SRC_PATH_BARE)/lib$(NAME) +SRC_DIR = "$(VPATH)" -#FIXME: This should be in configure/config.mak -ifeq ($(CONFIG_WIN32),yes) -LDFLAGS = -Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -endif - -ifeq ($(TARGET_GPROF),yes) -CFLAGS+=-p -LDFLAGS+=-p -endif +CFLAGS += $(CFLAGS-yes) +OBJS += $(OBJS-yes) +ASM_OBJS += $(ASM_OBJS-yes) +CPP_OBJS += $(CPP_OBJS-yes) -ifeq ($(TARGET_ARCH_SPARC64),yes) -CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc -endif +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) @@ -31,11 +26,12 @@ $(LIB): $(STATIC_OBJS) $(AR) rc $@ $^ $(EXTRAOBJS) $(RANLIB) $@ -$(SLIBNAME): $(SHARED_OBJS) +$(SLIBNAME): $(SLIBNAME_WITH_MAJOR) + ln -sf $^ $@ + +$(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS) $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) -ifeq ($(CONFIG_WIN32),yes) - -lib /machine:i386 /def:$(@:.dll=.def) -endif + $(SLIB_EXTRA_CMD) %.o: %.c $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< @@ -43,18 +39,15 @@ endif %.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) + $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) -depend: $(SRCS) +depend dep: $(SRCS) $(CC) -MM $(CFLAGS) $^ 1>.depend -dep: depend - clean:: - rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \ - *.lib *.def *.dll.a *.exp + rm -f *.o *.d *~ *.a *.lib *.so *.so.* *.dylib *.dll \ + *.def *.dll.a *.exp distclean: clean rm -f .depend @@ -71,31 +64,38 @@ install: install-libs install-headers install-libs: $(INSTLIBTARGETS) install-lib-shared: $(SLIBNAME) - install -d "$(libdir)" -ifeq ($(CONFIG_WIN32),yes) - install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)" -else - install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ - $(libdir)/$(SLIBNAME_WITH_VERSION) - ln -sf $(SLIBNAME_WITH_VERSION) \ - $(libdir)/$(SLIBNAME_WITH_MAJOR) - ln -sf $(SLIBNAME_WITH_VERSION) \ - $(libdir)/$(SLIBNAME) -endif + install -d "$(shlibdir)" + install -m 755 $(SLIBNAME) "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" + $(STRIP) "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" + cd "$(shlibdir)" && \ + ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) + cd "$(shlibdir)" && \ + ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME) + $(SLIB_INSTALL_EXTRA_CMD) install-lib-static: $(LIB) install -d "$(libdir)" install -m 644 $(LIB) "$(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 $(addprefix $(SRC_DIR)/,$(HEADERS)) "$(incdir)" install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig" -# -# include dependency files if they exist -# -ifneq ($(wildcard .depend),) -include .depend -endif +uninstall: uninstall-libs uninstall-headers + +uninstall-libs: + -rm -f "$(shlibdir)/$(SLIBNAME_WITH_MAJOR)" \ + "$(shlibdir)/$(SLIBNAME)" \ + "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" + -rm -f "$(libdir)/$(LIB)" + +uninstall-headers: + rm -f $(addprefix "$(incdir)/",$(HEADERS)) + rm -f "$(libdir)/pkgconfig/lib$(NAME).pc" + +.PHONY: all depend dep clean distclean install* uninstall* + +-include .depend