Re: How to adding pathes to dependencies in rules of `.d` files

"ljh" <[email protected]>
Newsgroups gmane.comp.gnu.make.general
Message-ID <[email protected]>
Updated. Accept a path parameter on command line from the user.

# Makefile for top dir

# $(call version_number,1.2.3)
# major.minor.patch
# libtool manual 4.2: -version-number
define version_number
	$(MAKE) -C $@ [email protected].$(word 1,$(subst ., ,$(1)))
	@ cp $(OBJDIR)/$@/$@ $(OBJDIR)/$@/[email protected].$(1)
	@ cd $(OBJDIR)/$@; ln -f -s $(OBJDIR)/$@/[email protected].$(1) $(OBJDIR)/$@/[email protected].$(word 1,$(subst ., ,$(1))); cd ..
	@ cd $(OBJDIR)/$@; ln -f -s $(OBJDIR)/$@/[email protected].$(1) $(OBJDIR)/$@/[email protected]; cd ..
endef

# make BUILD_DIR=build
ifndef BUILD_DIR
export OBJDIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/build
else
export OBJDIR = $(abspath $(BUILD_DIR))
endif

SUBDIRS = main foo

all : $(SUBDIRS)
install : $(SUBDIRS)

main : foo
main : ; $(MAKE) -C $@
foo : ; $(call version_number,1.2.3)

# make DESTDIR=~/foo install
install :
	install -d "$(DESTDIR)/usr/local/bin"
	install -d "$(DESTDIR)/usr/local/lib"
	install -m 0755 $(OBJDIR)/main/main "$(DESTDIR)/usr/local/bin"
	install -m 0755 $(OBJDIR)/foo/*.so* "$(DESTDIR)/usr/local/lib"

clean : ; -rm -fr $(OBJDIR)

.PHONY : $(SUBDIRS) all install clean
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.