src/include/mk/targets.mk

108 lines
2.1 KiB
Makefile
Raw Normal View History

# targets.mk - hhl - /usr/include/mk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
ifeq ($(no_objdir),1)
clean_cmd ?= $(MAKE) -C $(srcdir) clean distclean
else
clean_cmd ?= rm -rf $(objdir)
endif
distclean_cmd ?= rm -rf ${objdir} ${srcdir} ${stamps}
ifeq (${distext},gz)
tarflags += -xzf
endif
ifeq (${distext},bz2)
tarflags += -xjf
endif
ifeq (${distext},xz)
tarflags += -xJf
endif
install_cmd ?= $(MAKE) DESTDIR=$(DESTDIR) -C $(objdir) install
all: ${all_deps}
install: ${objdir}/.installed
$(info $(grn)=== $(distfullname) installed ===$(reset))
${objdir}/.installed: ${install_deps}
$(info $(grn)=== $(distfullname) built ===$(reset))
$(info $(grn)=== Installing for $(distfullname) ===$(reset))
$(pre_install)
$(install_cmd)
$(post_install)
touch $@
installclean:
$(MAKE) install clean
$(installdirs):
install -d $@
$(objdir)/.built: $(build_deps) | $(pre_dirs)
$(info $(grn)=== Building for $(distfullname)$(reset))
$(pre_build)
$(build_cmd)
$(post_build)
touch $@
$(config_tgt): $(config_deps) | $(pre_dirs)
$(info $(grn)=== Configuring for $(distfullname) ===$(reset))
$(pre_configure)
$(config_cmd)
$(post_configure)
touch $@
$(srcdir)/.patched: $(patches) $(srcdir)/.dirstamp
$(info $(grn)=== Patching $(srcdir) ===$(reset))
for patch in $(patches) ; do cd $(srcdir) && \
patch -p1 < $(wkgdir)/$${patch} ; done
touch ${srcdir}/.patched
$(srcdir)/.dirstamp: $(distlocal)
$(info $(grn)=== Extracting $(distlocal) ===$(reset))
tar $(tarflags) $(distlocal) -C $(global_srcdir)
touch $@
ifneq (${no_objdir},1)
${objdir}:
install -d $@
endif
$(distlocal):
$(info $(grn)=== Fetching $(distfile) ===$(reset))
$(MAKE) -C $(distdir) $(distfile)
clean:
$(info $(grn)=== Cleaning for $(distname) ===$(reset))
$(clean_cmd)
distclean: clean
${distclean_cmd}
remove-objs:
rm -rf ${objs} || true
remove-srcdir:
rm -rf ${srcdir} || true
remove-objdir:
rm -rf ${objdir} || true
remove: remove-objs remove-srcdir remove-objdir
.PHONY: \
all \
install \
installclean \
finish \
clean \
distclean \
remove-objs \
remove-objdir \
remove-srcdir \
remove