From 2725adf5c4b396e89c64eeb770ff1a9fd325c832 Mon Sep 17 00:00:00 2001 From: Luka Vandervelden Date: Mon, 6 Apr 2015 23:00:08 +0200 Subject: [PATCH] =?UTF-8?q?build.zsh=20can=20be=20installed=20on=20the=20u?= =?UTF-8?q?ser=E2=80=99s=20system.=20o/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Yeah, it’s pretty much useless. But it allowed me to run tests and fix a few minor bugs, so… whatever? --- Makefile | 64 +++++++++++++++++++++++++++++++++++++++++++++--- build.zsh | 9 +++++-- build/binary.zsh | 10 +++++--- project.zsh | 6 +++++ 4 files changed, 79 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index d0c687d..6600104 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ LDFLAGS := Q := @ -all: build.zsh +all: build.zsh build/binary.zsh build/library.zsh build/ofile.zsh build/script.zsh build.zsh: @@ -28,6 +28,58 @@ build.zsh.uninstall: @echo ' [RM] $(BINDIR)/build.zsh' $(Q)rm -f '$(DESTDIR)$(BINDIR)/build.zsh' +build/binary.zsh: + +build/binary.zsh.install: build/binary.zsh + @echo ' [IN] $(SHAREDIR)/build.zsh/binary.zsh' + $(Q)mkdir -p '$(DESTDIR)$(SHAREDIR)/build.zsh' + $(Q)install -m0755 build/binary.zsh $(DESTDIR)$(SHAREDIR)/build.zsh/binary.zsh + +build/binary.zsh.clean: + +build/binary.zsh.uninstall: + @echo ' [RM] $(SHAREDIR)/build.zsh/binary.zsh' + $(Q)rm -f '$(DESTDIR)$(SHAREDIR)/build.zsh/binary.zsh' + +build/library.zsh: + +build/library.zsh.install: build/library.zsh + @echo ' [IN] $(SHAREDIR)/build.zsh/library.zsh' + $(Q)mkdir -p '$(DESTDIR)$(SHAREDIR)/build.zsh' + $(Q)install -m0755 build/library.zsh $(DESTDIR)$(SHAREDIR)/build.zsh/library.zsh + +build/library.zsh.clean: + +build/library.zsh.uninstall: + @echo ' [RM] $(SHAREDIR)/build.zsh/library.zsh' + $(Q)rm -f '$(DESTDIR)$(SHAREDIR)/build.zsh/library.zsh' + +build/ofile.zsh: + +build/ofile.zsh.install: build/ofile.zsh + @echo ' [IN] $(SHAREDIR)/build.zsh/ofile.zsh' + $(Q)mkdir -p '$(DESTDIR)$(SHAREDIR)/build.zsh' + $(Q)install -m0755 build/ofile.zsh $(DESTDIR)$(SHAREDIR)/build.zsh/ofile.zsh + +build/ofile.zsh.clean: + +build/ofile.zsh.uninstall: + @echo ' [RM] $(SHAREDIR)/build.zsh/ofile.zsh' + $(Q)rm -f '$(DESTDIR)$(SHAREDIR)/build.zsh/ofile.zsh' + +build/script.zsh: + +build/script.zsh.install: build/script.zsh + @echo ' [IN] $(SHAREDIR)/build.zsh/script.zsh' + $(Q)mkdir -p '$(DESTDIR)$(SHAREDIR)/build.zsh' + $(Q)install -m0755 build/script.zsh $(DESTDIR)$(SHAREDIR)/build.zsh/script.zsh + +build/script.zsh.clean: + +build/script.zsh.uninstall: + @echo ' [RM] $(SHAREDIR)/build.zsh/script.zsh' + $(Q)rm -f '$(DESTDIR)$(SHAREDIR)/build.zsh/script.zsh' + $(DESTDIR)$(PREFIX): @echo ' [DIR] $(PREFIX)' $(Q)mkdir -p $(DESTDIR)$(PREFIX) @@ -43,12 +95,12 @@ $(DESTDIR)$(SHAREDIR): $(DESTDIR)$(INCLUDEDIR): @echo ' [DIR] $(INCLUDEDIR)' $(Q)mkdir -p $(DESTDIR)$(INCLUDEDIR) -install: subdirs.install build.zsh.install +install: subdirs.install build.zsh.install build/binary.zsh.install build/library.zsh.install build/ofile.zsh.install build/script.zsh.install @: subdirs.install: -uninstall: subdirs.uninstall build.zsh.uninstall +uninstall: subdirs.uninstall build.zsh.uninstall build/binary.zsh.uninstall build/library.zsh.uninstall build/ofile.zsh.uninstall build/script.zsh.uninstall @: subdirs.uninstall: @@ -58,7 +110,7 @@ test: all subdirs subdirs.test subdirs.test: -clean: build.zsh.clean +clean: build.zsh.clean build/binary.zsh.clean build/library.zsh.clean build/ofile.zsh.clean build/script.zsh.clean distclean: clean @@ -126,6 +178,10 @@ help: @echo '' @echo 'Project targets: ' @echo ' - build.zsh script' + @echo ' - build/binary.zshscript' + @echo ' - build/library.zshscript' + @echo ' - build/ofile.zshscript' + @echo ' - build/script.zshscript' @echo '' @echo 'Makefile options:' @echo ' - gnu: true' diff --git a/build.zsh b/build.zsh index 0f0ffd7..6bd7ac3 100755 --- a/build.zsh +++ b/build.zsh @@ -153,8 +153,12 @@ function duplicated { return 1 } -for i in build/*.zsh; do - . $i +for dir in "@SHAREDIR@/build.zsh" build; do + [[ -d "$dir" ]] && { + for i in "$dir"/*.zsh; do + . "$i" + done + } done ## @@ -256,6 +260,7 @@ function main { else write "${target}.install: \$(DESTDIR)${installdir}" write "\t@echo '$(IN ${installdir}/${target})'" + write "\t@mkdir -p '\$(DESTDIR)/${installdir}'" write "\t${Q}install -m755 $target \$(DESTDIR)${installdir}/$target" write fi diff --git a/build/binary.zsh b/build/binary.zsh index b79ff3c..66c8adf 100644 --- a/build/binary.zsh +++ b/build/binary.zsh @@ -21,18 +21,20 @@ function binary.build { function binary.install { local install="${install[$target]:-\$(BINDIR)}" + local basename="$(basename "${target}")" write "${target}.install: ${target}" - write "\t@echo '$(IN "${install}/${target}")'" + write "\t@echo '$(IN "${install}/${basename}")'" write "\t${Q}mkdir -p '\$(DESTDIR)${install}'" - write "\t${Q}install -m0755 ${target} \$(DESTDIR)${install}/${target}" + write "\t${Q}install -m0755 ${target} \$(DESTDIR)${install}/${basename}" write } function binary.uninstall { local install="${install[$target]:-\$(BINDIR)}" + local basename="$(basename "${target}")" write "${target}.uninstall:" - write "\t@echo '$(RM ${install}/${target})'" - write "\t${Q}rm -f '\$(DESTDIR)${install}/${target}'" + write "\t@echo '$(RM ${install}/${basename})'" + write "\t${Q}rm -f '\$(DESTDIR)${install}/${basename}'" write } diff --git a/project.zsh b/project.zsh index af00745..3f5edd0 100644 --- a/project.zsh +++ b/project.zsh @@ -5,5 +5,11 @@ version=0.2 targets=(build.zsh) type[build.zsh]=script +for i in build/*.zsh; do + targets+=($i) + type[$i]=script + install[$i]='$(SHAREDIR)/build.zsh' +done + dist=(build/*.zsh project.zsh Makefile)