2015-09-08 07:14:06 +00:00
|
|
|
FORCE_PULL := 0
|
2015-09-19 15:43:00 +00:00
|
|
|
DEV_BUILD := 0
|
2016-03-15 01:26:21 +00:00
|
|
|
HOST_ARCH := amd64
|
2016-01-15 13:18:30 +00:00
|
|
|
ARCH := amd64
|
2016-03-01 01:01:33 +00:00
|
|
|
SUFFIX := $(if $(filter-out amd64,$(ARCH)),_$(ARCH))
|
2015-07-23 13:53:01 +00:00
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
include build.conf
|
|
|
|
include build.conf.$(ARCH)
|
2015-07-23 13:53:01 +00:00
|
|
|
|
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
bin/ros:
|
2015-12-14 11:38:19 +00:00
|
|
|
mkdir -p $(dir $@)
|
2016-01-15 13:18:30 +00:00
|
|
|
ARCH=$(ARCH) VERSION=$(VERSION) ./scripts/mk-ros.sh $@
|
2015-08-06 07:04:46 +00:00
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
build/host_ros: bin/ros
|
|
|
|
mkdir -p $(dir $@)
|
2016-03-15 01:26:21 +00:00
|
|
|
ifeq "$(ARCH)" "$(HOST_ARCH)"
|
2016-01-15 13:18:30 +00:00
|
|
|
ln -sf ../bin/ros $@
|
2016-03-15 01:26:21 +00:00
|
|
|
else
|
|
|
|
ARCH=$(HOST_ARCH) TOOLCHAIN= VERSION=$(VERSION) ./scripts/mk-ros.sh $@
|
|
|
|
endif
|
2015-07-23 13:53:01 +00:00
|
|
|
|
|
|
|
|
2015-12-14 11:38:19 +00:00
|
|
|
assets/docker:
|
|
|
|
mkdir -p $(dir $@)
|
|
|
|
curl -L "$(DOCKER_BINARY_URL)" > $@
|
|
|
|
chmod +x $@
|
2015-08-06 07:04:46 +00:00
|
|
|
|
2016-02-20 00:11:32 +00:00
|
|
|
assets/selinux/policy.29:
|
|
|
|
mkdir -p $(dir $@)
|
|
|
|
curl -L "$(SELINUX_POLICY_URL)" > $@
|
2015-07-23 13:53:01 +00:00
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
ifdef COMPILED_KERNEL_URL
|
|
|
|
|
|
|
|
installer: minimal
|
2016-03-01 01:01:33 +00:00
|
|
|
docker build -t $(IMAGE_NAME):$(VERSION)$(SUFFIX) -f Dockerfile.$(ARCH) .
|
2016-01-15 13:18:30 +00:00
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
dist/artifacts/vmlinuz: build/kernel/
|
2015-12-14 11:38:19 +00:00
|
|
|
mkdir -p $(dir $@)
|
2016-03-01 01:01:33 +00:00
|
|
|
mv $(or $(wildcard build/kernel/boot/vmlinuz*), $(wildcard build/kernel/boot/vmlinux*)) $@
|
2015-07-23 13:53:01 +00:00
|
|
|
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
build/kernel/:
|
2015-12-14 11:38:19 +00:00
|
|
|
mkdir -p $@
|
2016-01-15 13:18:30 +00:00
|
|
|
curl -L "$(COMPILED_KERNEL_URL)" | tar -xzf - -C $@
|
2015-07-23 13:53:01 +00:00
|
|
|
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
dist/artifacts/initrd: bin/ros assets/docker assets/selinux/policy.29 build/kernel/ build/images.tar
|
2015-12-14 11:38:19 +00:00
|
|
|
mkdir -p $(dir $@)
|
2016-03-15 01:26:21 +00:00
|
|
|
SUFFIX=$(SUFFIX) DFS_IMAGE=$(DFS_IMAGE) DEV_BUILD=$(DEV_BUILD) ./scripts/mk-initrd.sh $@
|
2015-07-23 13:53:01 +00:00
|
|
|
|
2015-12-14 11:38:19 +00:00
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
dist/artifacts/rancheros.iso: minimal
|
2015-12-14 11:38:19 +00:00
|
|
|
./scripts/mk-rancheros-iso.sh
|
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
all: minimal installer iso
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
initrd: dist/artifacts/initrd
|
2016-01-15 13:18:30 +00:00
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
minimal: initrd dist/artifacts/vmlinuz
|
2016-01-15 13:18:30 +00:00
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
iso: dist/artifacts/rancheros.iso dist/artifacts/iso-checksums.txt
|
2016-01-15 13:18:30 +00:00
|
|
|
|
|
|
|
test: minimal
|
2016-03-17 10:21:10 +00:00
|
|
|
cd tests/integration && HOST_ARCH=$(HOST_ARCH) ARCH=$(ARCH) tox
|
2016-01-15 13:18:30 +00:00
|
|
|
|
|
|
|
.PHONY: all minimal initrd iso installer test
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
2016-02-24 03:06:14 +00:00
|
|
|
build/os-config.yml: build/host_ros
|
|
|
|
ARCH=$(ARCH) VERSION=$(VERSION) ./scripts/gen-os-config.sh $@
|
|
|
|
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
build/images.tar: build/host_ros build/os-config.yml
|
2016-01-15 13:18:30 +00:00
|
|
|
ARCH=$(ARCH) FORCE_PULL=$(FORCE_PULL) ./scripts/mk-images-tar.sh
|
|
|
|
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
dist/artifacts/rootfs.tar.gz: bin/ros assets/docker build/images.tar assets/selinux/policy.29
|
2016-01-15 13:18:30 +00:00
|
|
|
mkdir -p $(dir $@)
|
2016-03-15 01:26:21 +00:00
|
|
|
SUFFIX=$(SUFFIX) DFS_IMAGE=$(DFS_IMAGE) DEV_BUILD=$(DEV_BUILD) IS_ROOTFS=1 ./scripts/mk-initrd.sh $@
|
2016-01-15 13:18:30 +00:00
|
|
|
|
2015-12-14 11:38:19 +00:00
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
dist/artifacts/iso-checksums.txt: dist/artifacts/rancheros.iso
|
2015-12-14 11:38:19 +00:00
|
|
|
./scripts/mk-iso-checksums-txt.sh
|
2015-09-08 07:14:06 +00:00
|
|
|
|
|
|
|
|
2015-07-23 13:53:01 +00:00
|
|
|
version:
|
|
|
|
@echo $(VERSION)
|
|
|
|
|
2016-02-29 21:26:41 +00:00
|
|
|
rootfs: dist/artifacts/rootfs.tar.gz
|
2015-08-05 19:46:22 +00:00
|
|
|
|
2016-01-15 13:18:30 +00:00
|
|
|
.PHONY: rootfs version bin/ros
|