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