LIBP=libp.so LPATH=. #LIBS_OBJS:=liba.a libb.a libc.a libd.a LIBS_OBJS:=$(foreach dir, /dev/shm, $(wildcard $(dir)/*.a)) define test $(1)_deal: @echo "deal $(1)" endef all : static_lib make default default: $(LIBP) $(foreach v, $(LIBS_OBJS), $(eval $(call test, $(v)))) LIB_DEP=$(addsuffix _deal, $(LIBS_OBJS)) $(LIBP):$(LIB_DEP) @echo "get $@" static_lib: touch liba.a libb.a libc.a libd.a