72e55743860270803ed949f32727ef4e7e6888ac
1 include $(SRC_PATH
)/common.mak
3 LIBVERSION
:= $(lib
$(NAME
)_VERSION
)
4 LIBMAJOR
:= $(lib
$(NAME
)_VERSION_MAJOR
)
5 LIBMINOR
:= $(lib
$(NAME
)_VERSION_MINOR
)
6 INCINSTDIR
:= $(INCDIR
)/lib
$(NAME
)
8 INSTHEADERS
:= $(INSTHEADERS
) $(HEADERS
:%=$(SUBDIR
)%)
10 all-
$(CONFIG_STATIC
): $(SUBDIR
)$(LIBNAME
)
11 all-
$(CONFIG_SHARED
): $(SUBDIR
)$(SLIBNAME
)
13 $(SUBDIR
)%-test.o
: $(SUBDIR
)%-test.c
16 $(SUBDIR
)%-test.o
: $(SUBDIR
)%.c
19 $(SUBDIR
)%-test.i
: $(SUBDIR
)%-test.c
20 $(CC
) $(CCFLAGS
) $(CC_E
) $<
22 $(SUBDIR
)%-test.i
: $(SUBDIR
)%.c
23 $(CC
) $(CCFLAGS
) $(CC_E
) $<
25 $(SUBDIR
)x86
/%.o
: $(SUBDIR
)x86
/%.asm
26 $(DEPYASM
) $(YASMFLAGS
) -I
$(<D
)/ -M
-o
$@
$< > $(@
:.o
=.d
)
27 $(YASM
) $(YASMFLAGS
) -I
$(<D
)/ -o
$@
$<
28 -$(if
$(ASMSTRIPFLAGS
), $(STRIP
) $(ASMSTRIPFLAGS
) $@
)
30 LIBOBJS
:= $(OBJS
) $(SUBDIR
)%.h.o
$(TESTOBJS
)
31 $(LIBOBJS
) $(LIBOBJS
:.o
=.s
) $(LIBOBJS
:.o
=.i
): CPPFLAGS
+= -DHAVE_AV_CONFIG_H
32 $(TESTOBJS
) $(TESTOBJS
:.o
=.i
): CPPFLAGS
+= -DTEST
34 $(SUBDIR
)$(LIBNAME
): $(OBJS
)
36 $(AR
) $(ARFLAGS
) $(AR_O
) $^
39 install-headers
: install-lib
$(NAME
)-headers install-lib
$(NAME
)-pkgconfig
41 install-libs-
$(CONFIG_STATIC
): install-lib
$(NAME
)-static
42 install-libs-
$(CONFIG_SHARED
): install-lib
$(NAME
)-shared
45 $(TOOLS
): THISLIB
= $(FULLNAME
:%=$(LD_LIB
))
46 $(TESTPROGS
): THISLIB
= $(SUBDIR
)$(LIBNAME
)
48 $(TESTPROGS
) $(TOOLS
): %$(EXESUF
): %.o
$(EXEOBJS
)
49 $$(LD
) $(LDFLAGS
) $(LDEXEFLAGS
) $$(LD_O
) $$(filter %.o
,$$^
) $$(THISLIB
) $(FFEXTRALIBS
) $$(ELIBS
)
51 $(SUBDIR
)$(SLIBNAME
): $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
)
52 $(Q
)cd .
/$(SUBDIR
) && $(LN_S
) $(SLIBNAME_WITH_MAJOR
) $(SLIBNAME
)
54 $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
): $(OBJS
) $(SLIBOBJS
) $(SUBDIR
)lib
$(NAME
).ver
55 $(SLIB_CREATE_DEF_CMD
)
56 $$(LD
) $(SHFLAGS
) $(LDFLAGS
) $$(LD_O
) $$(filter %.o
,$$^
) $(FFEXTRALIBS
)
60 $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
): $(DEP_LIBS
)
64 $(RM
) $(addprefix $(SUBDIR
),*-test$(EXESUF
) $(CLEANFILES
) $(CLEANSUFFIXES
) $(LIBSUFFIXES
)) \
65 $(CLEANSUFFIXES
:%=$(SUBDIR
)$(ARCH
)/%)
68 $(RM
) $(DISTCLEANSUFFIXES
:%=$(SUBDIR
)%) $(DISTCLEANSUFFIXES
:%=$(SUBDIR
)$(ARCH
)/%)
70 install-lib
$(NAME
)-shared
: $(SUBDIR
)$(SLIBNAME
)
71 $(Q
)mkdir
-p
"$(SHLIBDIR)"
72 $$(INSTALL
) -m
755 $$< "$(SHLIBDIR)/$(SLIB_INSTALL_NAME)"
73 $$(STRIP
) "$(SHLIBDIR)/$(SLIB_INSTALL_NAME)"
74 $(Q
)$(foreach F
,$(SLIB_INSTALL_LINKS
),(cd
"$(SHLIBDIR)" && $(LN_S
) $(SLIB_INSTALL_NAME
) $(F
));)
75 $(if
$(SLIB_INSTALL_EXTRA_SHLIB
),$$(INSTALL
) -m
644 $(SLIB_INSTALL_EXTRA_SHLIB
:%=$(SUBDIR
)%) "$(SHLIBDIR)")
76 $(if
$(SLIB_INSTALL_EXTRA_LIB
),$(Q
)mkdir
-p
"$(LIBDIR)")
77 $(if
$(SLIB_INSTALL_EXTRA_LIB
),$$(INSTALL
) -m
644 $(SLIB_INSTALL_EXTRA_LIB
:%=$(SUBDIR
)%) "$(LIBDIR)")
79 install-lib
$(NAME
)-static
: $(SUBDIR
)$(LIBNAME
)
80 $(Q
)mkdir
-p
"$(LIBDIR)"
81 $$(INSTALL
) -m
644 $$< "$(LIBDIR)"
82 $(LIB_INSTALL_EXTRA_CMD
)
84 install-lib
$(NAME
)-headers
: $(addprefix $(SUBDIR
),$(HEADERS
) $(BUILT_HEADERS
))
85 $(Q
)mkdir
-p
"$(INCINSTDIR)"
86 $$(INSTALL
) -m
644 $$^
"$(INCINSTDIR)"
88 install-lib
$(NAME
)-pkgconfig
: $(SUBDIR
)lib
$(FULLNAME
).
pc
89 $(Q
)mkdir
-p
"$(LIBDIR)/pkgconfig"
90 $$(INSTALL
) -m
644 $$^
"$(LIBDIR)/pkgconfig"
93 -$(RM
) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
94 "$(SHLIBDIR)/$(SLIBNAME)" \
95 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
96 -$(RM
) $(SLIB_INSTALL_EXTRA_SHLIB
:%="$(SHLIBDIR)/%")
97 -$(RM
) $(SLIB_INSTALL_EXTRA_LIB
:%="$(LIBDIR)/%")
98 -$(RM
) "$(LIBDIR)/$(LIBNAME)"
101 $(RM
) $(addprefix "$(INCINSTDIR)/",$(HEADERS
) $(BUILT_HEADERS
))
102 $(RM
) "$(LIBDIR)/pkgconfig/lib$(FULLNAME).pc"
103 -rmdir
"$(INCINSTDIR)"
108 $(TOOLS
): $(DEP_LIBS
) $(SUBDIR
)$($(CONFIG_SHARED
:yes
=S
)LIBNAME
)
109 $(TESTPROGS
): $(DEP_LIBS
) $(SUBDIR
)$(LIBNAME
)
111 testprogs
: $(TESTPROGS
)