108 lines
2.1 KiB
Makefile
108 lines
2.1 KiB
Makefile
|
# 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
|
||
|
|