Files
linuxkit/projects/miragesdk/src/Makefile
Thomas Gazagnaire f5716ce985 Split the DHCP client into three components communicating via named pipes
3 components:

- network: read eht0 and proxy only DHCP traffic
- engine: read DHCP traffic, handle DHCP client state machine, and call the
  host actuator to change the host config when a lease is obtained
  host system configuration.
- actuator: perform the acutall net syscalls, read and write host configuration
  files, etc

These three components can either be linked together in a single binary
(see src/dhcp-client/main.ml) or can be used as 3 binaries communicating
over cap-n-proto.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-07-17 17:46:17 +02:00

37 lines
728 B
Makefile

.PHONY: tag push
default: push
ORG?=linuxkitprojects
IMAGE=dhcp-client
NOCACHE?=
DEPS=Dockerfile \
$(shell find . -name jbuild) \
$(shell find . -name '*.ml') \
$(shell find . -name '*.mli') \
$(shell find . -name '*.c') \
$(shell find . -name '*.json')
HASH?=$(shell git ls-tree HEAD -- ../$(notdir $(CURDIR)) | awk '{print $$3}')
tag: $(DEPS)
docker build --squash $(NOCACHE) -t $(ORG)/$(IMAGE):$(HASH) .
push: tag
DOCKER_CONTENT_TRUST=1 docker pull $(ORG)/$(IMAGE):$(HASH) || \
DOCKER_CONTENT_TRUST=1 docker push $(ORG)/$(IMAGE):$(HASH)
#### DEV
.PHONY: test
test:
jbuilder runtest --dev
clean:
jbuilder clean
dev:
jbuilder build sdk.install dhcp-client.install --dev
jbuilder build test/test.exe --dev