-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
66 lines (48 loc) · 1.4 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
SCRIPTS = km kc kw klb
INLINES = $(patsubst %,build/%.sh,$(SCRIPTS))
BINS = $(patsubst %.sh,%,$(INLINES))
MANS = $(patsubst %,debian/%.1,$(SCRIPTS))
TARGETS = $(INLINES) $(BINS) $(MANS)
build/%.sh: %
mkdir -p build
./inline.sh --in-file $< --out-file $@
chmod 755 $@
debian/%.1: build/%
./genman.sh $< > $@
all: $(TARGETS)
install:
mkdir -p $(DESTDIR)/usr/bin
install -m 0755 -t $(DESTDIR)/usr/bin $(BINS)
uninstall:
rm -f $(addprefix $(DESTDIR)/usr/bin/, $(SCRIPTS))
clean::
rm -f $(TARGETS)
distclean: clean
.PHONY: all install uninstall clean distclean
.DELETE_ON_ERROR:
debian:
debuild -us -uc
debian-clean:
debclean
.PHONY: debian debian-clean
DEBIANS = bookworm
UBUNTUS = focal jammy noble
DOCKER_DEBIANS = $(addprefix docker-debian-,$(DEBIANS))
DOCKER_UBUNTUS = $(addprefix docker-ubuntu-,$(UBUNTUS))
docker-debian-%: $(INLINES)
mkdir -p docker/debian/$*/build/
cp -f $(INLINES) docker/debian/$*/build/
-docker rmi kubetools-debian-$*
docker build -t kubetools-debian-$* docker/debian/$*/
docker-ubuntu-%: $(INLINES)
mkdir -p docker/ubuntu/$*/build/
cp -f $(INLINES) docker/ubuntu/$*/build/
-docker rmi kubetools-ubuntu-$*
docker build -t kubetools-ubuntu-$* docker/ubuntu/$*
docker-debian: $(DOCKER_DEBIANS)
docker-ubuntu: $(DOCKER_UBUNTUS)
docker: docker-debian docker-ubuntu
$(DOCKERS):
clean-docker:
-rm -Rf docker/*/*/build
.PHONY: docker-debian docker-ubuntu docker clean-docker