1 include $(SRC_PATH
)/avbuild
/common.mak
3 ifeq (,$(filter %clean config
,$(MAKECMDGOALS
)))
4 -include $(SUBDIR
)lib
$(NAME
).version
7 LIBVERSION
:= $(lib
$(NAME
)_VERSION
)
8 LIBMAJOR
:= $(lib
$(NAME
)_VERSION_MAJOR
)
9 LIBMINOR
:= $(lib
$(NAME
)_VERSION_MINOR
)
10 INCINSTDIR
:= $(INCDIR
)/lib
$(NAME
)
12 INSTHEADERS
:= $(INSTHEADERS
) $(HEADERS
:%=$(SUBDIR
)%)
14 all-
$(CONFIG_STATIC
): $(SUBDIR
)$(LIBNAME
) $(SUBDIR
)lib
$(NAME
).
pc
15 all-
$(CONFIG_SHARED
): $(SUBDIR
)$(SLIBNAME
) $(SUBDIR
)lib
$(NAME
).
pc
17 LIBOBJS
:= $(OBJS
) $(SUBDIR
)%.h.o
$(TESTOBJS
)
18 $(LIBOBJS
) $(LIBOBJS
:.o
=.i
): CPPFLAGS
+= -DHAVE_AV_CONFIG_H
20 $(SUBDIR
)$(LIBNAME
): $(OBJS
)
22 $(AR
) $(ARFLAGS
) $(AR_O
) $^
25 install-headers
: install-lib
$(NAME
)-headers install-lib
$(NAME
)-pkgconfig
27 install-libs-
$(CONFIG_STATIC
): install-lib
$(NAME
)-static
28 install-libs-
$(CONFIG_SHARED
): install-lib
$(NAME
)-shared
31 $(TOOLS
): THISLIB
= $(NAME
:%=$(LD_LIB
))
32 $(TESTPROGS
): THISLIB
= $(SUBDIR
)$(LIBNAME
)
34 $(LIBOBJS
): CPPFLAGS
+= -DBUILDING_
$(NAME
)
36 $(TESTPROGS
) $(TOOLS
): %$(EXESUF
): %.o
37 $$(LD
) $(LDFLAGS
) $(LDEXEFLAGS
) $$(LD_O
) $$(filter %.o
,$$^
) $$(THISLIB
) $(FFEXTRALIBS
) $$(EXTRALIBS-
$$(*F
)) $$(ELIBS
)
39 $(SUBDIR
)lib
$(NAME
).version
: $(SUBDIR
)version.h |
$(SUBDIR
)
40 $$(M
) $$(SRC_PATH
)/avbuild
/libversion.sh
$(NAME
) $$< > $$@
42 $(SUBDIR
)lib
$(NAME
).
pc: $(SUBDIR
)version.h avbuild
/config.sh |
$(SUBDIR
)
43 $$(M
) $$(SRC_PATH
)/avbuild
/pkgconfig_generate.sh
$(NAME
) "$(DESC)"
45 $(SUBDIR
)lib
$(NAME
).ver
: $(SUBDIR
)lib
$(NAME
).v
$(OBJS
)
46 $$(M
)sed
's/MAJOR/$(lib$(NAME)_VERSION_MAJOR)/' $$< |
$(VERSION_SCRIPT_POSTPROCESS_CMD
) > $$@
48 $(SUBDIR
)$(SLIBNAME
): $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
)
49 $(Q
)cd .
/$(SUBDIR
) && $(LN_S
) $(SLIBNAME_WITH_MAJOR
) $(SLIBNAME
)
51 $(SUBDIR
)$(SLIBNAME_WITH_MAJOR
): $(OBJS
) $(SUBDIR
)lib
$(NAME
).ver
$(DEP_LIBS
)
52 $(SLIB_CREATE_DEF_CMD
)
53 $$(LD
) $(SHFLAGS
) $(LDFLAGS
) $(LDSOFLAGS
) $$(LD_O
) $$(filter %.o
,$$^
) $(FFEXTRALIBS
)
57 $(RM
) $(addprefix $(SUBDIR
),$(CLEANFILES
) $(CLEANSUFFIXES
) $(LIBSUFFIXES
)) \
58 $(CLEANSUFFIXES
:%=$(SUBDIR
)$(ARCH
)/%) $(CLEANSUFFIXES
:%=$(SUBDIR
)tests
/%)
60 install-lib
$(NAME
)-shared
: $(SUBDIR
)$(SLIBNAME
)
61 $(Q
)mkdir
-p
"$(SHLIBDIR)"
62 $$(INSTALL
) -m
755 $$< "$(SHLIBDIR)/$(SLIB_INSTALL_NAME)"
63 $(Q
)$(foreach F
,$(SLIB_INSTALL_LINKS
),cd
"$(SHLIBDIR)" && $(LN_S
) $(SLIB_INSTALL_NAME
) $(F
);)
64 $(if
$(SLIB_INSTALL_EXTRA_SHLIB
),$$(INSTALL
) -m
644 $(SLIB_INSTALL_EXTRA_SHLIB
:%=$(SUBDIR
)%) "$(SHLIBDIR)")
65 $(if
$(SLIB_INSTALL_EXTRA_LIB
),$(Q
)mkdir
-p
"$(LIBDIR)")
66 $(if
$(SLIB_INSTALL_EXTRA_LIB
),$$(INSTALL
) -m
644 $(SLIB_INSTALL_EXTRA_LIB
:%=$(SUBDIR
)%) "$(LIBDIR)")
68 install-lib
$(NAME
)-static
: $(SUBDIR
)$(LIBNAME
)
69 $(Q
)mkdir
-p
"$(LIBDIR)"
70 $$(INSTALL
) -m
644 $$< "$(LIBDIR)"
71 $(LIB_INSTALL_EXTRA_CMD
)
73 install-lib
$(NAME
)-headers
: $(addprefix $(SUBDIR
),$(HEADERS
) $(BUILT_HEADERS
))
74 $(Q
)mkdir
-p
"$(INCINSTDIR)"
75 $$(INSTALL
) -m
644 $$^
"$(INCINSTDIR)"
77 install-lib
$(NAME
)-pkgconfig
: $(SUBDIR
)lib
$(NAME
).
pc
78 $(Q
)mkdir
-p
"$(LIBDIR)/pkgconfig"
79 $$(INSTALL
) -m
644 $$^
"$(LIBDIR)/pkgconfig"
82 -$(RM
) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
83 "$(SHLIBDIR)/$(SLIBNAME)" \
84 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
85 -$(RM
) $(SLIB_INSTALL_EXTRA_SHLIB
:%="$(SHLIBDIR)"%)
86 -$(RM
) $(SLIB_INSTALL_EXTRA_LIB
:%="$(LIBDIR)"%)
87 -$(RM
) "$(LIBDIR)/$(LIBNAME)"
90 $(RM
) $(addprefix "$(INCINSTDIR)/",$(HEADERS
) $(BUILT_HEADERS
))
91 -rmdir
"$(INCINSTDIR)"
94 $(RM
) "$(LIBDIR)/pkgconfig/lib$(NAME).pc"
99 $(TOOLS
): $(DEP_LIBS
) $(SUBDIR
)$($(CONFIG_SHARED
:yes
=S
)LIBNAME
)
100 $(TESTPROGS
): $(DEP_LIBS
) $(SUBDIR
)$(LIBNAME
)
102 testprogs
: $(TESTPROGS
)