diff options
Diffstat (limited to 'lib/build-dev.mk')
-rw-r--r-- | lib/build-dev.mk | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/lib/build-dev.mk b/lib/build-dev.mk new file mode 100644 index 0000000..c924bd2 --- /dev/null +++ b/lib/build-dev.mk @@ -0,0 +1,72 @@ +# Copyright 2022 Alejandro Colomar <alx@kernel.org> +# SPDX-License-Identifier: LGPL-3.0-or-later WITH LGPL-3.0-linking-exception + + +ifndef LIB_BUILD_DEV_MK_ +LIB_BUILD_DEV_MK_ := 1 + + +include $(srcdir)/lib/build.mk +include $(srcdir)/lib/build-dev.mk +include $(srcdir)/lib/build-obj.mk +include $(srcdir)/lib/cmd.mk +include $(srcdir)/lib/src.mk +include $(srcdir)/lib/version.mk + + +DEFAULT_ARFLAGS := qcsDP +EXTRA_ARFLAGS := +ARFLAGS := $(DEFAULT_ARFLAGS) $(EXTRA_ARFLAGS) + + +AR := gcc-ar + + +_LIB_a := $(builddir)/$(libname).a +_LIB_pc := $(builddir)/$(libname).pc + + +$(_LIB_a): %.a: $(_TU_o) $(mk) | $$(@D)/ + $(info AR $@) + $(CD) $(dir $@) && \ + for opt in g 0 1 2 s 3 fast; do \ + $(RM) $(notdir $*.O$$opt.a) 2>/dev/null ||:; \ + $(ECHO) $(patsubst $(builddir)/%,%,$(_TU_o)) \ + | $(SED) "s,.o\>,.O$$opt.o," \ + | $(XARGS) $(AR) $(ARFLAGS) $(notdir $*).O$$opt.a; \ + done + $(RM) $@ 2>/dev/null ||: + $(CD) $(dir $@)/ && \ + $(ECHO) $(patsubst $(builddir)/%,%,$(_TU_o)) \ + | $(XARGS) $(AR) $(ARFLAGS) $(notdir $@) + +$(_LIB_pc_u): $(LIB_pc_u) $(mk) | $$(@D)/ + $(CP) -T $< $@ + +$(_LIB_pc): $(_LIB_pc_u) $(mk) | $$(@D)/ + $(info SED $@) + $(SED) 's/Version:.*/Version: $(DISTVERSION)/' <$< >$@ + $(SED) -i 's,prefix=.*,prefix=$(prefix),' $@ +ifneq ($(filter includedir=%,$(MAKEOVERRIDES)),) + $(SED) -i 's,includedir=.*,includedir=$(includedir),' $@ +endif +ifneq ($(filter libdir=%,$(MAKEOVERRIDES)),) + $(SED) -i 's,libdir=.*,libdir=$(libdir),' $@ +endif + + +.PHONY: build-dev-ar +build-dev-ar: $(_LIB_a) + @: + +.PHONY: build-dev-pc +build-dev-pc: $(_LIB_pc) + @: + + +.PHONY: build-dev +build-dev: build-dev-ar build-dev-pc + @: + + +endif # include guard |