Mercurial > mplayer.hg
comparison common.mak @ 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 | |
children | a0c511c2d0bd |
comparison
equal
deleted
inserted
replaced
17626:5627625b0cdb | 17627:24238abbd150 |
---|---|
1 # | |
2 # common bits used by all libraries | |
3 # | |
4 | |
5 SRC_DIR = $(SRC_PATH)/$(SUBDIR) | |
6 VPATH = $(SRC_DIR) | |
7 | |
8 #FIXME: This should be in configure/config.mak | |
9 ifeq ($(CONFIG_WIN32),yes) | |
10 LDFLAGS = -Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a) | |
11 endif | |
12 | |
13 ifeq ($(TARGET_GPROF),yes) | |
14 CFLAGS+=-p | |
15 LDFLAGS+=-p | |
16 endif | |
17 | |
18 ifeq ($(TARGET_ARCH_SPARC64),yes) | |
19 CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc | |
20 endif | |
21 | |
22 SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp) | |
23 OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS) | |
24 STATIC_OBJS := $(OBJS) $(STATIC_OBJS) | |
25 SHARED_OBJS := $(OBJS) $(SHARED_OBJS) | |
26 | |
27 all: $(LIB) $(SLIBNAME) | |
28 | |
29 $(LIB): $(STATIC_OBJS) | |
30 rm -f $@ | |
31 $(AR) rc $@ $^ $(EXTRAOBJS) | |
32 $(RANLIB) $@ | |
33 | |
34 $(SLIBNAME): $(SHARED_OBJS) | |
35 $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) | |
36 ifeq ($(CONFIG_WIN32),yes) | |
37 -lib /machine:i386 /def:$(@:.dll=.def) | |
38 endif | |
39 | |
40 %.o: %.c | |
41 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< | |
42 | |
43 %.o: %.S | |
44 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< | |
45 | |
46 # BeOS: remove -Wall to get rid of all the "multibyte constant" warnings | |
47 %.o: %.cpp | |
48 g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $< | |
49 | |
50 depend: $(SRCS) | |
51 $(CC) -MM $(CFLAGS) $^ 1>.depend | |
52 | |
53 dep: depend | |
54 | |
55 clean:: | |
56 rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \ | |
57 *.lib *.def *.dll.a *.exp | |
58 | |
59 distclean: clean | |
60 rm -f .depend | |
61 | |
62 ifeq ($(BUILD_SHARED),yes) | |
63 INSTLIBTARGETS += install-lib-shared | |
64 endif | |
65 ifeq ($(BUILD_STATIC),yes) | |
66 INSTLIBTARGETS += install-lib-static | |
67 endif | |
68 | |
69 install: install-libs install-headers | |
70 | |
71 install-libs: $(INSTLIBTARGETS) | |
72 | |
73 install-lib-shared: $(SLIBNAME) | |
74 ifeq ($(CONFIG_WIN32),yes) | |
75 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)" | |
76 else | |
77 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ | |
78 $(libdir)/$(SLIBNAME_WITH_VERSION) | |
79 ln -sf $(SLIBNAME_WITH_VERSION) \ | |
80 $(libdir)/$(SLIBNAME_WITH_MAJOR) | |
81 ln -sf $(SLIBNAME_WITH_VERSION) \ | |
82 $(libdir)/$(SLIBNAME) | |
83 endif | |
84 | |
85 install-lib-static: $(LIB) | |
86 install -m 644 $(LIB) "$(libdir)" | |
87 | |
88 install-headers: | |
89 install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(incdir)" | |
90 install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig" | |
91 | |
92 # | |
93 # include dependency files if they exist | |
94 # | |
95 ifneq ($(wildcard .depend),) | |
96 include .depend | |
97 endif |