annotate common.mak @ 21209:03cd07c3c8de

FFmpeg-style conditional dependency declaration
author diego
date Sat, 25 Nov 2006 16:49:29 +0000
parents 5bc5ca236d93
children 39a0f240f3d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
1 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
2 # common bits used by all libraries
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
3 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
4
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
5 SRC_DIR = $(SRC_PATH)/lib$(NAME)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
6 VPATH = $(SRC_DIR)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
7
20152
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
8 CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
9 -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
10 -I$(SRC_PATH)/libavutil $(OPTFLAGS)
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
11 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
12 OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
13 STATIC_OBJS := $(OBJS) $(STATIC_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
14 SHARED_OBJS := $(OBJS) $(SHARED_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
15
18311
6727756ba981 Sync with upstream.
diego
parents: 17700
diff changeset
16 all: $(EXTRADEPS) $(LIB) $(SLIBNAME)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
17
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
18 $(LIB): $(STATIC_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
19 rm -f $@
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
20 $(AR) rc $@ $^ $(EXTRAOBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
21 $(RANLIB) $@
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
22
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
23 $(SLIBNAME): $(SLIBNAME_WITH_MAJOR)
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
24 ln -sf $^ $@
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
25
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
26 $(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
27 $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS)
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
28 $(SLIB_EXTRA_CMD)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
29
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
30 %.o: %.c
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
31 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
32
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
33 %.o: %.S
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
34 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
35
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
36 # BeOS: remove -Wall to get rid of all the "multibyte constant" warnings
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
37 %.o: %.cpp
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
38 g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $<
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
39
20068
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
40 %: %.o $(LIB)
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
41 $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS)
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
42
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
43 depend dep: $(SRCS)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
44 $(CC) -MM $(CFLAGS) $^ 1>.depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
45
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
46 clean::
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
47 rm -f *.o *.d *~ *.a *.lib *.so *.so.* *.dylib *.dll \
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
48 *.lib *.def *.dll.a *.exp
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
49
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
50 distclean: clean
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
51 rm -f .depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
52
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
53 ifeq ($(BUILD_SHARED),yes)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
54 INSTLIBTARGETS += install-lib-shared
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
55 endif
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
56 ifeq ($(BUILD_STATIC),yes)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
57 INSTLIBTARGETS += install-lib-static
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
58 endif
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
59
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
60 install: install-libs install-headers
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
61
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
62 install-libs: $(INSTLIBTARGETS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
63
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
64 install-lib-shared: $(SLIBNAME)
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
65 install -d "$(shlibdir)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
66 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
67 "$(shlibdir)/$(SLIBNAME_WITH_VERSION)"
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
68 cd "$(shlibdir)" && \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
69 ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
70 cd "$(shlibdir)" && \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
71 ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
72
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
73 install-lib-static: $(LIB)
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
74 install -d "$(libdir)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
75 install -m 644 $(LIB) "$(libdir)"
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
76 $(LIB_INSTALL_EXTRA_CMD)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
77
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
78 install-headers:
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
79 install -d "$(incdir)"
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
80 install -d "$(libdir)/pkgconfig"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
81 install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(incdir)"
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
82 install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig"
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
83
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
84 uninstall: uninstall-libs uninstall-headers
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
85
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
86 uninstall-libs:
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
87 -rm -f "$(shlibdir)/$(SLIBNAME_WITH_MAJOR)" \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
88 "$(shlibdir)/$(SLIBNAME)" \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
89 "$(shlibdir)/$(SLIBNAME_WITH_VERSION)"
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
90 -rm -f "$(libdir)/$(LIB)"
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
91
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
92 uninstall-headers:
20152
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
93 rm -f $(addprefix "$(incdir)/",$(HEADERS))
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
94 rm -f "$(libdir)/pkgconfig/lib$(NAME).pc"
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
95
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
96 .PHONY: all depend dep clean distclean install* uninstall*
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
97
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
98 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
99 # include dependency files if they exist
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
100 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
101 ifneq ($(wildcard .depend),)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
102 include .depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
103 endif