e52567c295
The implementation of 25cb0c1a involves lots of spurious labels. The effect of keeping those labels around is making debugging harder. Those labels are meaningless, and complicate the disassembly. Also, gdb can't tell the difference between them and function entry points. This new strip command is irrelevant to any usage of Libav that would have used the old fully stripped version, because the old one was for non-debug use. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
108 lines
3.5 KiB
Makefile
108 lines
3.5 KiB
Makefile
include $(SRC_PATH)/common.mak
|
|
|
|
LIBVERSION := $(lib$(NAME)_VERSION)
|
|
LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR)
|
|
LIBMINOR := $(lib$(NAME)_VERSION_MINOR)
|
|
INCINSTDIR := $(INCDIR)/lib$(NAME)
|
|
|
|
INSTHEADERS := $(INSTHEADERS) $(HEADERS:%=$(SUBDIR)%)
|
|
|
|
all-$(CONFIG_STATIC): $(SUBDIR)$(LIBNAME)
|
|
all-$(CONFIG_SHARED): $(SUBDIR)$(SLIBNAME)
|
|
|
|
$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
|
|
$(COMPILE_C)
|
|
|
|
$(SUBDIR)%-test.o: $(SUBDIR)%.c
|
|
$(COMPILE_C)
|
|
|
|
$(SUBDIR)%-test.i: $(SUBDIR)%-test.c
|
|
$(CC) $(CCFLAGS) $(CC_E) $<
|
|
|
|
$(SUBDIR)%-test.i: $(SUBDIR)%.c
|
|
$(CC) $(CCFLAGS) $(CC_E) $<
|
|
|
|
$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
|
|
$(DEPYASM) $(YASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d)
|
|
$(YASM) $(YASMFLAGS) -I $(<D)/ -o $@ $<
|
|
-@ $(if $(STRIP), $(STRIP) -wN '..@*' $@)
|
|
|
|
LIBOBJS := $(OBJS) $(SUBDIR)%.h.o $(TESTOBJS)
|
|
$(LIBOBJS) $(LIBOBJS:.o=.i): CPPFLAGS += -DHAVE_AV_CONFIG_H
|
|
$(TESTOBJS) $(TESTOBJS:.o=.i): CPPFLAGS += -DTEST
|
|
|
|
$(SUBDIR)$(LIBNAME): $(OBJS)
|
|
$(RM) $@
|
|
$(AR) $(ARFLAGS) $(AR_O) $^
|
|
$(RANLIB) $@
|
|
|
|
install-headers: install-lib$(NAME)-headers install-lib$(NAME)-pkgconfig
|
|
|
|
install-libs-$(CONFIG_STATIC): install-lib$(NAME)-static
|
|
install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared
|
|
|
|
define RULES
|
|
$(EXAMPLES) $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB))
|
|
$(TESTPROGS): THISLIB = $(SUBDIR)$(LIBNAME)
|
|
|
|
$(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
|
|
$$(LD) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $(FFEXTRALIBS) $$(ELIBS)
|
|
|
|
$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
|
|
$(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
|
|
|
|
$(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver $(DEP_LIBS)
|
|
$(SLIB_CREATE_DEF_CMD)
|
|
$$(LD) $(SHFLAGS) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $(FFEXTRALIBS)
|
|
$(SLIB_EXTRA_CMD)
|
|
|
|
clean::
|
|
$(RM) $(addprefix $(SUBDIR),*-example$(EXESUF) *-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
|
|
$(CLEANSUFFIXES:%=$(SUBDIR)$(ARCH)/%)
|
|
|
|
distclean:: clean
|
|
$(RM) $(DISTCLEANSUFFIXES:%=$(SUBDIR)%) $(DISTCLEANSUFFIXES:%=$(SUBDIR)$(ARCH)/%)
|
|
|
|
install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
|
|
$(Q)mkdir -p "$(SHLIBDIR)"
|
|
$$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIB_INSTALL_NAME)"
|
|
$(Q)$(foreach F,$(SLIB_INSTALL_LINKS),cd "$(SHLIBDIR)" && $(LN_S) $(SLIB_INSTALL_NAME) $(F);)
|
|
$(if $(SLIB_INSTALL_EXTRA_SHLIB),$$(INSTALL) -m 644 $(SLIB_INSTALL_EXTRA_SHLIB:%=$(SUBDIR)%) "$(SHLIBDIR)")
|
|
$(if $(SLIB_INSTALL_EXTRA_LIB),$(Q)mkdir -p "$(LIBDIR)")
|
|
$(if $(SLIB_INSTALL_EXTRA_LIB),$$(INSTALL) -m 644 $(SLIB_INSTALL_EXTRA_LIB:%=$(SUBDIR)%) "$(LIBDIR)")
|
|
|
|
install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
|
|
$(Q)mkdir -p "$(LIBDIR)"
|
|
$$(INSTALL) -m 644 $$< "$(LIBDIR)"
|
|
$(LIB_INSTALL_EXTRA_CMD)
|
|
|
|
install-lib$(NAME)-headers: $(addprefix $(SUBDIR),$(HEADERS) $(BUILT_HEADERS))
|
|
$(Q)mkdir -p "$(INCINSTDIR)"
|
|
$$(INSTALL) -m 644 $$^ "$(INCINSTDIR)"
|
|
|
|
install-lib$(NAME)-pkgconfig: $(SUBDIR)lib$(NAME).pc
|
|
$(Q)mkdir -p "$(LIBDIR)/pkgconfig"
|
|
$$(INSTALL) -m 644 $$^ "$(LIBDIR)/pkgconfig"
|
|
|
|
uninstall-libs::
|
|
-$(RM) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
|
|
"$(SHLIBDIR)/$(SLIBNAME)" \
|
|
"$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
|
|
-$(RM) $(SLIB_INSTALL_EXTRA_SHLIB:%="$(SHLIBDIR)"%)
|
|
-$(RM) $(SLIB_INSTALL_EXTRA_LIB:%="$(LIBDIR)"%)
|
|
-$(RM) "$(LIBDIR)/$(LIBNAME)"
|
|
|
|
uninstall-headers::
|
|
$(RM) $(addprefix "$(INCINSTDIR)/",$(HEADERS) $(BUILT_HEADERS))
|
|
$(RM) "$(LIBDIR)/pkgconfig/lib$(NAME).pc"
|
|
-rmdir "$(INCINSTDIR)"
|
|
endef
|
|
|
|
$(eval $(RULES))
|
|
|
|
$(EXAMPLES) $(TOOLS): $(DEP_LIBS) $(SUBDIR)$($(CONFIG_SHARED:yes=S)LIBNAME)
|
|
$(TESTPROGS): $(DEP_LIBS) $(SUBDIR)$(LIBNAME)
|
|
|
|
examples: $(EXAMPLES)
|
|
testprogs: $(TESTPROGS)
|