mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-12-25 07:22:41 +00:00
This implements the proposal in #2564 and converts a handful of representative or especially interesting (from a build PoV) packages to use it. For now those pkg/* affected get a stub-`Makefile`, once all packages are converted then `pkg/Makefile` can be adjusted and those stubs can be removed. For now only `pkg/package.mk`'s functionality is implemented. In particular: - `push-manifest.sh` remains a separate script, to enable calling it on systems with just the LinuxKit tools installed arrange to install it under a less generic name. - `kernel` and `tools/alpine` do not use `pkg/package.mk` and those cases are not yet fully considered/covered. I have updated the documentation assuming that the existing uses of `pkg/package.mk` will be removed quite soon in a follow up PR rather than trying to document the situation which results after just this commit. Due to `cmd/linuxkit` now gaining a library the build needs adjusting slightly to allow both `make bin/linuxkit` and `go build` to work. `go vet` has forced me to write some rather asinine comments for things that are rather obvious from the name. Signed-off-by: Ian Campbell <ijc@docker.com>
21 lines
486 B
Makefile
21 lines
486 B
Makefile
DIRS = $(shell find . -maxdepth 1 -mindepth 1 -type d)
|
|
.PHONY: clean dirs $(DIRS)
|
|
|
|
# TODO(ijc) once all switch to `linuxkit pkg` update this to:
|
|
# linuxkit pkg <build|push> [--force] $$d
|
|
# linuxkit pkg show-tag $$d
|
|
|
|
push:
|
|
@set -e; for d in $(DIRS); do make -C "$$d"; done
|
|
|
|
tag:
|
|
@set -e; for d in $(DIRS); do make -C "$$d" tag; done
|
|
|
|
forcetag:
|
|
@set -e; for d in $(DIRS); do make -C "$$d" forcetag; done
|
|
|
|
show-tag:
|
|
@set -e; for d in $(DIRS); do make -C "$$d" show-tag; done
|
|
|
|
clean: ;
|