changeset 17627:24238abbd150

Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building system
author rtognimp
date Tue, 14 Feb 2006 21:42:49 +0000
parents 5627625b0cdb
children 892e40db9211
files common.mak
diffstat 1 files changed, 97 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common.mak	Tue Feb 14 21:42:49 2006 +0000
@@ -0,0 +1,97 @@
+#
+# common bits used by all libraries
+#
+
+SRC_DIR = $(SRC_PATH)/$(SUBDIR)
+VPATH = $(SRC_DIR)
+
+#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
+
+ifeq ($(TARGET_ARCH_SPARC64),yes)
+CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
+endif
+
+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: $(LIB) $(SLIBNAME)
+
+$(LIB): $(STATIC_OBJS)
+	rm -f $@
+	$(AR) rc $@ $^ $(EXTRAOBJS)
+	$(RANLIB) $@
+
+$(SLIBNAME): $(SHARED_OBJS)
+	$(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS)
+ifeq ($(CONFIG_WIN32),yes)
+	-lib /machine:i386 /def:$(@:.dll=.def)
+endif
+
+%.o: %.c
+	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
+
+%.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 $@ $<
+
+depend: $(SRCS)
+	$(CC) -MM $(CFLAGS) $^ 1>.depend
+
+dep:	depend
+
+clean::
+	rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
+	      *.lib *.def *.dll.a *.exp
+
+distclean: clean
+	rm -f .depend
+
+ifeq ($(BUILD_SHARED),yes)
+INSTLIBTARGETS += install-lib-shared
+endif
+ifeq ($(BUILD_STATIC),yes)
+INSTLIBTARGETS += install-lib-static
+endif
+
+install: install-libs install-headers
+
+install-libs: $(INSTLIBTARGETS)
+
+install-lib-shared: $(SLIBNAME)
+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-lib-static: $(LIB)
+	install -m 644 $(LIB) "$(libdir)"
+
+install-headers:
+	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