summaryrefslogtreecommitdiffstats
path: root/common.mak
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-02-14 21:42:49 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-02-14 21:42:49 +0000
commitc104d2bd5ff3f9091abe21bc7bbbcf1083cacbb2 (patch)
treef519b8f9f1b9ce749b96415a4e448bb3bf5eb29f /common.mak
parentefdabb1b55b23bf669c17464bdfdbf22d8245ed4 (diff)
downloadmpv-c104d2bd5ff3f9091abe21bc7bbbcf1083cacbb2.tar.bz2
mpv-c104d2bd5ff3f9091abe21bc7bbbcf1083cacbb2.tar.xz
Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
system git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17628 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'common.mak')
-rw-r--r--common.mak97
1 files changed, 97 insertions, 0 deletions
diff --git a/common.mak b/common.mak
new file mode 100644
index 0000000000..4bc8b118b5
--- /dev/null
+++ b/common.mak
@@ -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