summaryrefslogblamecommitdiffstats
path: root/Makefile
blob: 33d52c0f9316ec93270b13a354479b0af068badc (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                       


                                             

                                  


                                             



                                        

                                   
 


                                                       
 


                                                                    
 


                                                         
 
 


                                                   
 








                                                            




                                
                                    


                     
                          






                                                       
















                                         
                                                          


                                   




                                                     


                            
         









                            
MAKEFLAGS += --no-builtin-rules
MAKEFLAGS += --no-builtin-variables
MAKEFLAGS += --no-print-directory
MAKEFLAGS += --warn-undefined-variables


package := grepc


srcdir      := .
DESTDIR     :=
prefix      := /usr/local
exec_prefix := $(prefix)


BINDIR       := $(srcdir)/bin
DATAROOTDIR  := $(srcdir)/share
DOCDIR       := $(DATAROOTDIR)/doc/$(package)
MANDIR       := $(DATAROOTDIR)/man

bindir       := $(exec_prefix)/bin
datarootdir  := $(prefix)/share
docdir       := $(datarootdir)/doc/$(package)
mandir       := $(datarootdir)/man

_prefix      := $(DESTDIR)$(prefix)
_exec_prefix := $(DESTDIR)$(exec_prefix)
_bindir      := $(DESTDIR)$(bindir)
_docdir      := $(DESTDIR)$(docdir)
_mandir      := $(DESTDIR)$(mandir)

BINDIRS      := $(sort $(shell find $(BINDIR) -type d))
DOCDIRS      := $(sort $(shell find $(DOCDIR) -type d))
MANDIRS      := $(sort $(shell find $(MANDIR) -type d))

_bindirs     := $(patsubst $(srcdir)/%,$(_exec_prefix)/%,$(BINDIRS))
_docdirs     := $(patsubst $(srcdir)/%,$(_prefix)/%,$(DOCDIRS))
_mandirs     := $(patsubst $(srcdir)/%,$(_prefix)/%,$(MANDIRS))

_dirs      := $(sort $(_bindir) $(_docdir) $(_mandir))
_alldirs   := $(sort $(_bindirs) $(_docdirs) $(_mandirs))
_subdirs   := $(filter-out $(_dirs),$(_alldirs))


BIN      := $(sort $(shell find $(BINDIR) -type f))
DOC      := $(sort $(shell find $(DOCDIR) -type f))
MAN      := $(sort $(shell find $(MANDIR) -type f))

_bin     := $(patsubst $(srcdir)/%,$(_exec_prefix)/%,$(BIN))
_doc     := $(patsubst $(srcdir)/%,$(_prefix)/%,$(DOC))
_man     := $(patsubst $(srcdir)/%,$(_prefix)/%,$(MAN))
_prog    := $(_bin)
_data    := $(_doc) $(_man)

_bin_rm  := $(addsuffix -rm,$(wildcard $(_bin)))
_doc_rm  := $(addsuffix -rm,$(wildcard $(_doc)))
_man_rm  := $(addsuffix -rm,$(wildcard $(_man)))


INSTALL         := install
INSTALL_DIR     := $(INSTALL) -d
INSTALL_PROGRAM := $(INSTALL)
INSTALL_DATA    := $(INSTALL) -m 644
RM              := rm


modules     := bin doc man
install     := $(foreach x,$(modules),install-$(x))
installdirs := $(foreach x,$(modules),installdirs-$(x))
uninstall   := $(addprefix un,$(install))


.PHONY: all
all:


.PHONY: install     $(install)
.PHONY: installdirs $(installdirs)
.PHONY: uninstall   $(uninstall)


.SECONDEXPANSION:

install:        $(install)
$(install):     install-%:     $$(_%)
installdirs:    $(installdirs)
$(installdirs): installdirs-%: $$(_%dirs)
uninstall:      $(uninstall)
$(uninstall):   uninstall-%:   $$(_%_rm)


$(_prog): $(_exec_prefix)/%: $(srcdir)/% Makefile | $$(@D)
	$(info INSTALL	$@)
	$(INSTALL_PROGRAM) -T $< $@

$(_data): $(_prefix)/%: $(srcdir)/% Makefile | $$(@D)
	$(info INSTALL	$@)
	$(INSTALL_DATA) -T $< $@

$(_subdirs): | $$(@D)
	$(info INSTALL	$@/)
	$(INSTALL_DIR) $@

$(_dirs):
	$(info INSTALL	$@/)
	$(INSTALL_DIR) $@

%-rm:
	$(info RM	$*)
	$(RM) $*


V :=
$(V).SILENT: