mirror of
https://github.com/troglobit/finit.git
synced 2026-10-08 16:34:45 +07:00
88 lines
2.2 KiB
Makefile
88 lines
2.2 KiB
Makefile
.PHONY: clean check test-check
|
|
|
|
ARCH ?= x86_64
|
|
|
|
FINITBIN ?= ../src/finit
|
|
|
|
BBVER ?= 1.31.0
|
|
BBBIN = busybox-$(ARCH)
|
|
BBURL ?= https://www.busybox.net/downloads/binaries/$(BBVER)-defconfig-multiarch-musl/$(BBBIN)
|
|
|
|
testroot = test_root
|
|
testroot_bin = $(testroot)/bin
|
|
binaries = $(testroot_bin)/cat \
|
|
$(testroot_bin)/date \
|
|
$(testroot_bin)/echo \
|
|
$(testroot_bin)/kill \
|
|
$(testroot_bin)/ls \
|
|
$(testroot_bin)/mkdir \
|
|
$(testroot_bin)/mkfifo \
|
|
$(testroot_bin)/mknod \
|
|
$(testroot_bin)/mount \
|
|
$(testroot_bin)/printf \
|
|
$(testroot_bin)/pgrep \
|
|
$(testroot_bin)/ps \
|
|
$(testroot_bin)/rm \
|
|
$(testroot_bin)/sh \
|
|
$(testroot_bin)/sleep \
|
|
$(testroot_bin)/top \
|
|
$(testroot_bin)/touch
|
|
dirs = $(testroot)/bin \
|
|
$(testroot)/dev \
|
|
$(testroot)/etc \
|
|
$(testroot)/lib \
|
|
$(testroot)/lib64 \
|
|
$(testroot)/proc \
|
|
$(testroot)/sbin \
|
|
$(testroot)/sys \
|
|
$(testroot)/tmp \
|
|
$(testroot)/usr/lib
|
|
|
|
all: check
|
|
|
|
$(dirs):
|
|
mkdir -p $@
|
|
|
|
$(BBBIN):
|
|
wget -O $@ $(BBURL)
|
|
md5sum -c $@.md5
|
|
|
|
$(testroot):
|
|
mkdir $(testroot)
|
|
|
|
$(testroot_bin)/$(BBBIN): $(BBBIN)
|
|
mkdir -p $(testroot_bin)
|
|
cp $(BBBIN) $(testroot_bin)/
|
|
chmod +x $(testroot_bin)/$(BBBIN)
|
|
|
|
$(binaries): $(testroot_bin)/$(BBBIN)
|
|
cd $(testroot_bin); \
|
|
ln -s $(BBBIN) $(notdir $@)
|
|
|
|
$(testroot_bin)/chrootsetup.sh: chrootsetup.sh
|
|
cp $< $@
|
|
|
|
libs_src = $(shell ldd $(FINITBIN) | grep -v lib64 | grep '=>' | cut -d' ' -f3)
|
|
libs = $(foreach path,$(libs_src),$(testroot)/usr/lib/$(shell basename $(path)))
|
|
libs64_src = $(shell ldd $(FINITBIN) | grep lib64 | grep '=>' | cut -d' ' -f3)
|
|
libs64 = $(foreach path,$(libs64_src),$(testroot)/lib64/$(shell basename $(path)))
|
|
|
|
$(testroot)/sbin/finit: $(FINITBIN) $(libs) $(libs64)
|
|
cp $< $@
|
|
|
|
$(libs): $@
|
|
cp $(shell ldd $(FINITBIN) | cut -d' ' -f3 | grep $(notdir $@)) $@
|
|
|
|
$(libs64): $@
|
|
cp $(shell ldd $(FINITBIN) | cut -d' ' -f3 | grep $(notdir $@)) $@
|
|
|
|
check: $(binaries) $(testroot_bin)/chrootsetup.sh $(dirs) $(testroot)/sbin/finit
|
|
./runtest.sh test_start_stop_service/test.sh
|
|
|
|
test-check:
|
|
shellcheck $(shell find . -name '*.sh')
|
|
|
|
clean:
|
|
rm -rf $(testroot)
|
|
rm -f $(BBBIN)
|