X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=Makefile;h=022b9ffa1960970da20d3668c6a5c975b533e5a4;hb=HEAD;hp=87960be299b31c0a36376daea80ce6450855e535;hpb=e31752676862cfaaa0e27a3b9a3d44c59ca39d23;p=rrq%2Foverlay-boot.git diff --git a/Makefile b/Makefile index 87960be..022b9ff 100644 --- a/Makefile +++ b/Makefile @@ -1,45 +1,73 @@ -SBINDIR = $(DESTDIR)/usr/sbin -ETCDIR = $(DESTDIR)/etc/rrqnet -MAN1DIR = $(DESTDIR)/usr/share/man/man1 +ETCDIR = $(DESTDIR)/etc +INITDIR = $(DESTDIR)/etc/init.d MAN8DIR = $(DESTDIR)/usr/share/man/man8 +SBINDIR = $(DESTDIR)/usr/sbin VARLIBDIR = $(DESTDIR)/var/lib/overlay-boot -SBINCFILES = -#SBINFILES = overlay-boot overlay-go overlay-stop -ETCFILES = -MAN1FILES = -MAN8FILES = -HTMLDOC = $(MAN8FILES:%=%.html) +MAN8FILES = overlay-boot.8 overlay-go.8 overlay-stop.8 overlay-diskfile.8 +MAN8FILES += overlay-share.8 VARLIBFILES = overlay-boot overlay-go overlay-stop functions reaper +VARLIBFILES += overlay-init overlay-postmount overlay-premount +VARLIBFILES += overlay-diskfile +VARLIBFILES += overlay-share +INITFILES = subhosts +ETCFILES = subhosts.conf + +# The default is to build asm/reaper +REAPER = src/reaper +all: $(REAPER) + +# Specific rule: $(REAPER) is ensured by "recursive make" +$(REAPER): + $(MAKE) -C $$(dirname $(REAPER)) reaper -all: reaper/reaper +# Specific rule: the reaper program originates from $(REAPER) +reaper: $(REAPER) + mv $< $@ -reaper/reaper: - $(MAKE) -C reaper +# Specific rule: the sysvinit init file +$(INITDIR)/subhosts: subhosts.sh | $(INITDIR)/ + cp $< $@ + +# Specific rule: the sysvinit init configuration file +$(ETCDIR)/subhosts.conf: subhosts.conf | $(ETCDIR)/ + cp $< $@ -$(VARLIBDIR)/: +# Generic rule: any dependee directory needs to be created +%/: mkdir -p $@ +# Generic rule: a local .8 file depends on the same .8.adoc file, if any +$(MAN8FILES): %: %.adoc + asciidoctor -b manpage $^ + +# Generic rule: an installed MAN8FILE file depends on a local the +# same, and that the installation directory exists +$(addprefix $(MAN8DIR)/,$(MAN8FILES)): $(MAN8DIR)/%: % | $(MAN8DIR)/ + cp $< $@ + +# Generic rule: an installed VARLIBFILES file depends on a local the +# same, and that the installation directory exists $(addprefix $(VARLIBDIR)/,$(VARLIBFILES)): $(VARLIBDIR)/%: % | $(VARLIBDIR)/ cp -p $< $@ -#$(SBINDIR)/: -# mkdir -p $@ -# -#$(addprefix $(SBINDIR)/,$(SBINFILES)): $(SBINDIR)/%: $(VARLIBDIR)/% | $(SBINDIR)/ -# ln -sTf $< $@ +# Make target: to clean up this workspace +clean: + rm -f reaper *.8 + make -C $$(dirname $(REAPER)) clean -$(VARLIBDIR)/reaper: reaper/reaper - cp $< $@ +.INTERMEDIATE: reaper $(MAN8FILES) -INSTALLTARGETS = $(addprefix $(SBINDIR)/,$(SBINFILES)) -INSTALLTARGETS += $(addprefix $(ETCDIR)/,$(ETCFILES)) -INSTALLTARGETS += $(addprefix $(MAN1DIR)/,$(MAN1FILES)) +# Make target: enumerates that which should be installed INSTALLTARGETS += $(addprefix $(MAN8DIR)/,$(MAN8FILES)) INSTALLTARGETS += $(addprefix $(VARLIBDIR)/,$(VARLIBFILES)) +INSTALLTARGETS += $(addprefix $(INITDIR)/,$(INITFILES)) +INSTALLTARGETS += $(addprefix $(ETCDIR)/,$(ETCFILES)) install: $(INSTALLTARGETS) +# Make target: make a .deb file in ../ BUILDPACKAGE = -us -uc --build=full -Iolle deb: - PREFIX= INCLUDE_PREFIX=/usr dpkg-buildpackage $(BUILDPACKAGE) + dpkg-buildpackage $(BUILDPACKAGE) +# PREFIX= INCLUDE_PREFIX=/usr