NEB=neb.pl NEBMODS=neb.pm NEBSUBDIRS=PAPO neb LAM=lam.pl LAMMODS=lam.pm LIBDIR=${HOME}/public_perl INSTALL=ln -sf # $(call do-for-all,func,list) do-for-all=$(foreach item,$(2),$(call $(1),$(item))) # do-for-all=for i in $(2); do $(call $(1),$$i); done # the ';'s are important to let the do-for-all func work install-bin=${INSTALL} $(1) ~/bin/$(subst .pl,,$(1)); install-mod=${INSTALL} $(1) ${LIBDIR}/$(1); install-subdir=${install-mod} all: @ echo '*** Nothing to do ***' install: install-neb install-lam link-install: link-install-neb link-install-lam install-neb: $(call do-for-all,install-bin,${NEB}) $(call do-for-all,install-mod,${NEBMODS}) $(call do-for-all,install-subdir,${NEBSUBDIRS}) install-lam: $(call do-for-all,install-bin,${LAM}) $(call do-for-all,install-mod,${LAMMODS})