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)
|