Release new version 0.108
[grml-debootstrap.git] / packer / Makefile
index e3b57f9..8a79a1e 100644 (file)
@@ -1,28 +1,49 @@
-compile: fake-uname.so
-
 GRML_DEBOOTSTRAP_VERSION=latest
+GRML_DEBOOTSTRAP_LOCAL_PATH=$(shell pwd)/local_dir
 
-fake-uname.so:
-       gcc -shared -fPIC -ldl fake-uname.c -o fake-uname.so
+CFLAGS ?= -ggdb -O2 -Wall -Wextra -Wno-unused-parameter
+CFLAGS += -fPIC -fvisibility=hidden
+LDLIBS ?=
+LDLIBS += -ldl
 
-# Debian 9
-stretch: fake-uname.so
-       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json
+PLUGIN = fake-uname.so
 
-# Debian 8
-jessie: fake-uname.so
-       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json
+$(PLUGIN): fake-uname.c
+       $(CC) $(CFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@ -shared
+
+UNAME_CHECK = LD_PRELOAD="$(CURDIR)/$(PLUGIN)" uname
+
+check: $(PLUGIN)
+       echo "$(UNAME_CHECK)"
+       test "0.0.0" = "$(shell $(UNAME_CHECK) -r)"
+       test "1.2.3" = "$(shell UTS_RELEASE="1.2.3" $(UNAME_CHECK) -r)"
+
+install:
+       cd .. && make DESTDIR=packer/local_dir install
 
-# Debian 7
-wheezy: fake-uname.so
-       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json
+clean:
+       $(RM) *.o *.so
+       rm -rf local_dir
 
-# Debian 6.0
-squeeze: fake-uname.so
-       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json
+# Debian 12
+bookworm: clean fake-uname.so install
+       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
 
-# Debian 5.0
-lenny: fake-uname.so
-       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) debian64.json
+# Debian 11
+bullseye: clean fake-uname.so install
+       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
+
+# Debian 10
+buster: clean fake-uname.so install
+       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
+
+# Debian 9
+stretch: clean fake-uname.so install
+       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
+
+# Debian 8
+jessie: clean fake-uname.so install
+       packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
 
-.PHONY: compile stretch jessie wheezy squeeze lenny
+.PHONY: compile bullseye buster stretch jessie
+.NOTPARALLEL: