summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-03-06 13:46:13 +0100
committerGitHub <noreply@github.com>2017-03-06 13:46:13 +0100
commitc4bd98a48fe56625179ce2ecfad403164f0a32b8 (patch)
tree74f95255778112aff5e40362a197dbb1b237015a
parent85cb954b9fe907e9efc6d87744b0262f6f1960fc (diff)
parent3e544f1a9eecf47420730f8457a6d44c3b6270c4 (diff)
downloadimag-c4bd98a48fe56625179ce2ecfad403164f0a32b8.zip
imag-c4bd98a48fe56625179ce2ecfad403164f0a32b8.tar.gz
Merge pull request #913 from mario-kr/makefile_use_workspaces
Makefile use workspaces
-rw-r--r--Makefile39
-rw-r--r--README.md25
2 files changed, 20 insertions, 44 deletions
diff --git a/Makefile b/Makefile
index e47c0c1..9d10436 100644
--- a/Makefile
+++ b/Makefile
@@ -18,10 +18,7 @@ LIB_TARGETS_TEST=$(foreach x,$(subst ./,,$(LIBS)),$(x)-test)
TARGETS=$(BIN_TARGETS) $(LIB_TARGETS)
RELEASE_TARGETS=$(foreach x,$(TARGETS),$(x)-release)
INSTALL_TARGETS=$(foreach x,$(BIN_TARGETS),$(x)-install)
-UPDATE_TARGETS=$(foreach x,$(TARGETS),$(x)-update)
-CLEAN_TARGETS=$(foreach x,$(TARGETS),$(x)-clean)
CHECK_TARGETS=$(foreach x,$(TARGETS),$(x)-check)
-CHECK_OUTDATED_TARGETS=$(foreach x,$(TARGETS),$(x)-check-outdated)
all: $(TARGETS) imag-bin
@$(ECHO) "\t[ALL ]"
@@ -34,26 +31,14 @@ imag-bin-release:
@$(ECHO) "\t[IMAG ][RELEASE]"
@$(CARGO) build --release --manifest-path ./bin/Cargo.toml
-imag-bin-update:
- @$(ECHO) "\t[IMAG ][UPDATE ]"
- @$(CARGO) update --manifest-path ./bin/Cargo.toml
-
imag-bin-install:
@$(ECHO) "\t[IMAG ][INSTALL]"
@$(CARGO) install --force --path ./bin
-imag-bin-clean:
- @$(ECHO) "\t[IMAG ][CLEAN ]"
- @$(CARGO) clean --manifest-path ./bin/Cargo.toml
-
imag-bin-check:
@$(ECHO) "\t[IMAG ][CHECK ]"
@$(CARGO) check --manifest-path ./bin/Cargo.toml
-imag-bin-check-outdated:
- @$(ECHO) "\t[IMAG ][CHECK ]"
- @$(CARGO) outdated --manifest-path ./bin/Cargo.toml --lockfile-path ./bin/Cargo.lock
-
release: $(RELEASE_TARGETS) imag-bin-release
@$(ECHO) "\t[RELEASE]"
@@ -75,15 +60,19 @@ test: bin-test lib-test
install: $(INSTALL_TARGETS) imag-bin-install
@$(ECHO) "\t[INSTALL]"
-update: $(UPDATE_TARGETS) imag-bin-update
+update:
@$(ECHO) "\t[UPDATE ]"
+ @$(CARGO) update
-clean: $(CLEAN_TARGETS) imag-bin-clean
+clean:
@$(ECHO) "\t[CLEAN ]"
+ @$(CARGO) clean
check: $(CHECK_TARGETS) imag-bin-check
-check-outdated: $(CHECK_OUTDATED_TARGETS) imag-bin-check-outdated
+check-outdated:
+ @$(ECHO) "\t[OUTDATED]"
+ @$(CARGO) outdated
$(TARGETS): %: .FORCE
@$(ECHO) "\t[CARGO ]:\t$@"
@@ -107,23 +96,9 @@ $(INSTALL_TARGETS): %: .FORCE imag-bin-install
@$(ECHO) "\t[INSTALL]:\t$(subst -install,,$@)"
@$(CARGO) install --force --path ./$(subst -install,,$@)
-$(UPDATE_TARGETS): %: .FORCE
- @$(ECHO) "\t[UPDATE ]:\t$(subst -update,,$@)"
- @$(CARGO) update --manifest-path ./$(subst -update,,$@)/Cargo.toml
-
-$(CLEAN_TARGETS): %: .FORCE
- @$(ECHO) "\t[CLEAN ]:\t$(subst -clean,,$@)"
- @$(CARGO) clean --manifest-path ./$(subst -clean,,$@)/Cargo.toml
-
$(CHECK_TARGETS): %: .FORCE
@$(ECHO) "\t[CHECK ]:\t$(subst -check,,$@)"
@$(CARGO) check --manifest-path ./$(subst -check,,$@)/Cargo.toml
-$(CHECK_OUTDATED_TARGETS): %: .FORCE $(subst -check-outdated,-update,$@)
- @$(ECHO) "\t[OUTDATE]:\t$(subst -check-outdated,,$@)"
- @$(CARGO) outdated -R \
- --manifest-path $(PWD)/$(subst -check-outdated,,$@)/Cargo.toml \
- --lockfile-path $(PWD)/$(subst -check-outdated,,$@)/Cargo.lock
-
.FORCE:
diff --git a/README.md b/README.md
index f82d999..06965eb 100644
--- a/README.md
+++ b/README.md
@@ -50,18 +50,19 @@ might think!
There are several targets for each of the sub-crates in the Makefile:
-| Target | Multi | Purpose | Example |
-| :--- | ----- | :--- | :--- |
-| all | | Build everything, debug mode | `make all` |
-| bin | | Build all binaries, debug mode | `make bin` |
-| lib | | Build all libraries, debug mode | `make lib` |
-| lib-test | | Test all libraries | `make lib-test` |
-| imag-bin | | Build only the `imag` binary, debug mode | `make imag-bin` |
-| check | * | Run `cargo check` | `make check` |
-| clean | * | Remove build artifacts | `make clean` |
-| install | * | Build everything, release mode, install | `make install` |
-| release | * | Build everything, release mode | `make release` |
-| update | * | Run `cargo update` | `make update` |
+| Target | Multi | Purpose | Example |
+| :--- | ----- | :--- | :--- |
+| all | | Build everything, debug mode | `make all` |
+| bin | | Build all binaries, debug mode | `make bin` |
+| lib | | Build all libraries, debug mode | `make lib` |
+| lib-test | | Test all libraries | `make lib-test` |
+| imag-bin | | Build only the `imag` binary, debug mode | `make imag-bin` |
+| clean | | Remove build artifacts | `make clean` |
+| update | | Run `cargo update` | `make update` |
+| check-outdated | | Run `cargo outdated` | `make check-outdated`|
+| check | * | Run `cargo check` | `make check` |
+| install | * | Build everything, release mode, install | `make install` |
+| release | * | Build everything, release mode | `make release` |
The `Multi` targets are callable for each sub-crate. For example you can call
`make imag-store-check` to run `cargo check` on the `imag-store` crate.