da61458df68a39b29d19fbb45bf3fcb05f39ee3e
1 SRC_DIR
:= $(SRC_PATH_BARE
)/lib
$(NAME
)
3 include $(SUBDIR
)..
/common.mak
5 LIBVERSION
:= $(lib
$(NAME
)_VERSION
)
6 LIBMAJOR
:= $(lib
$(NAME
)_VERSION_MAJOR
)
8 $(OBJS
) $(SUBDIR
)%.ho
$(SUBDIR
)%-test.o
$(TESTOBJS
): CPPFLAGS
+= -DHAVE_AV_CONFIG_H
11 all: $(SUBDIR
)$(LIBNAME
)
13 install-libs
: install-lib
$(NAME
)-static
15 $(SUBDIR
)$(LIBNAME
): $(OBJS
)
17 $(AR
) rc
$@
$^
$(EXTRAOBJS
)
21 install-headers
: install-lib
$(NAME
)-headers install-lib
$(NAME
)-pkgconfig
23 INCINSTDIR
:= $(INCDIR
)/lib
$(NAME
)
25 THIS_LIB
:= $(SUBDIR
)$($(CONFIG_SHARED
:yes
=S
)LIBNAME
)
28 $(SUBDIR
)%$(EXESUF
): $(SUBDIR
)%.o
29 $$(LD
) $(FFLDFLAGS
) -o
$$@
$$^
-l
$(FULLNAME
) $(FFEXTRALIBS
) $$(ELIBS
)
31 $(SUBDIR
)%-test.o
: $(SUBDIR
)%.c
32 $$(CC
) $$(CPPFLAGS
) $(CFLAGS
) -DTEST
-c
$$(CC_O
) $$^
34 $(SUBDIR
)%-test.o
: $(SUBDIR
)%-test.c
35 $$(CC
) $$(CPPFLAGS
) $(CFLAGS
) -DTEST
-c
$$(CC_O
) $$^
37 $(SUBDIR
)x86
/%.o
: $(SUBDIR
)x86
/%.asm
38 $$(YASMDEP
) $(YASMFLAGS
) -I
$$(<D
)/ -M
-o
$$@
$$< > $$(@
:.o
=.d
)
39 $$(YASM
) $(YASMFLAGS
) -I
$$(<D
)/ -o
$$@
$$<
42 $(RM
) $(addprefix $(SUBDIR
),*-example
$(EXESUF
) *-test$(EXESUF
) $(CLEANFILES
) $(CLEANSUFFIXES
) $(LIBSUFFIXES
)) \
43 $(addprefix $(SUBDIR
), $(foreach suffix,$(CLEANSUFFIXES
),$(addsuffix /$(suffix),$(DIRS
)))) \
44 $(HOSTOBJS
) $(HOSTPROGS
)
47 $(RM
) $(addprefix $(SUBDIR
),$(DISTCLEANSUFFIXES
)) \
48 $(addprefix $(SUBDIR
), $(foreach suffix,$(DISTCLEANSUFFIXES
),$(addsuffix /$(suffix),$(DIRS
))))
51 all: $(SUBDIR
)$(SLIBNAME
)
53 install-libs
: install-lib
$(NAME
)-shared
55 $(SUBDIR
)$(SLIBNAME
): $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
)
56 $(Q
)cd .
/$(SUBDIR
) && $(LN_S
) $(SLIBNAME_WITH_MAJOR
) $(SLIBNAME
)
58 $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
): $(OBJS
) $(SUBDIR
)lib
$(NAME
).ver
59 $(SLIB_CREATE_DEF_CMD
)
60 $$(LD
) $(SHFLAGS
) $(FFLDFLAGS
) -o
$$@
$$(filter %.o
,$$^
) $(FFEXTRALIBS
) $(EXTRAOBJS
)
64 $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
): $(DEP_LIBS
)
68 install-lib
$(NAME
)-shared
: $(SUBDIR
)$(SLIBNAME
)
69 $(Q
)mkdir
-p
"$(SHLIBDIR)"
70 $$(INSTALL
) -m
755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
71 $$(STRIP
) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
72 $(Q
)cd
"$(SHLIBDIR)" && \
73 $(LN_S
) $(SLIBNAME_WITH_VERSION
) $(SLIBNAME_WITH_MAJOR
)
74 $(Q
)cd
"$(SHLIBDIR)" && \
75 $(LN_S
) $(SLIBNAME_WITH_VERSION
) $(SLIBNAME
)
76 $(SLIB_INSTALL_EXTRA_CMD
)
78 install-lib
$(NAME
)-static
: MSG
= $(LIBDIR
)/$(LIBNAME
)
79 install-lib
$(NAME
)-shared
: MSG
= $(LIBDIR
)/$(SLIBNAME
)
81 install-lib
$(NAME
)-static
: $(SUBDIR
)$(LIBNAME
)
82 $(Q
)mkdir
-p
"$(LIBDIR)"
83 $$(INSTALL
) -m
644 $$< "$(LIBDIR)"
84 $(LIB_INSTALL_EXTRA_CMD
)
86 install-lib
$(NAME
)-headers
: $(addprefix $(SUBDIR
),$(HEADERS
) $(BUILT_HEADERS
))
87 $(Q
)mkdir
-p
"$(INCINSTDIR)"
88 $$(INSTALL
) -m
644 $$^
"$(INCINSTDIR)"
90 install-lib
$(NAME
)-pkgconfig
: $(SUBDIR
)lib
$(NAME
).
pc
91 $(Q
)mkdir
-p
"$(LIBDIR)/pkgconfig"
92 $$(INSTALL
) -m
644 $$^
"$(LIBDIR)/pkgconfig"
95 -$(RM
) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
96 "$(SHLIBDIR)/$(SLIBNAME)" \
97 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
98 -$(SLIB_UNINSTALL_EXTRA_CMD
)
99 -$(RM
) "$(LIBDIR)/$(LIBNAME)"
102 $(RM
) $(addprefix "$(INCINSTDIR)/",$(HEADERS
))
103 $(RM
) "$(LIBDIR)/pkgconfig/lib$(NAME).pc"
109 $(EXAMPLES
) $(TESTPROGS
): $(THIS_LIB
) $(DEP_LIBS
)
111 examples
: $(EXAMPLES
)
112 testprogs
: $(TESTPROGS
)