From 80e0fe2d10d53e92b25156988e3048867cfaa121 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Thu, 21 Dec 2017 12:44:57 -0500 Subject: [PATCH] Switch from build.sh to a proper Makefile --- Makefile | 29 +++++++++++++++++++++++++++++ build.sh | 34 ---------------------------------- 2 files changed, 29 insertions(+), 34 deletions(-) create mode 100644 Makefile delete mode 100644 build.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0ae655e --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +SOURCES = bin/maid bin/serv bin/pass bin/mktex + +.PHONY: all +all: $(SOURCES) + +.PHONY: production +production: FLAGS = --release +production: $(SOURCES) + +.PHONY: update +update: + shards update + +.PHONY: install +install: + shards install + +bin/maid: src/maid.cr + crystal build $^ -o $@ $(FLAGS) + +bin/serv: src/serv.cr + crystal build $^ -o $@ $(FLAGS) + +bin/pass: src/pass.cr + crystal build $^ -o $@ $(FLAGS) + +bin/mktex: src/mktex.cr + crystal build $^ -o $@ $(FLAGS) + diff --git a/build.sh b/build.sh deleted file mode 100644 index a800e69..0000000 --- a/build.sh +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################## -# -# New Start: A modern Arch workflow built with an emphasis on functionality. -# Copyright (C) 2017 Donovan Glover -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -################################################################################## - -# TODO: If --release then add --release to the build command -#if [ $1 = "release" ]; then -# echo "release" -#fi - -# TODO: If a filename is given, build only that file and not all the files -# i.e. './build.sh maid' only builds src/maid.cr - -# Build each and every file in src/, placing the output in bin/ -for file in src/*.cr; do - f=${file#"src/"} - f=${f%".cr"} - crystal build src/$f.cr -o bin/$f && echo "Successfully built src/$f.cr" -done