1
1
ARCHS := x86_64 arm aarch64 powerpc mips mipsel
2
2
TARGETS := $(addprefix build-, $(ARCHS ) )
3
3
PACK_TARGETS := $(addprefix pack-, $(ARCHS ) )
4
+ SUBMODULE_PACKAGES := $(wildcard src/submodule_packages/* )
5
+ BUILD_PACKAGES_DIR := "build/packages"
4
6
5
7
.PHONY : clean help download_packages build build-docker-image $(TARGETS ) $(PACK_TARGETS )
6
8
@@ -23,22 +25,28 @@ build/build-docker-image.stamp: Dockerfile
23
25
24
26
build-docker-image : build/build-docker-image.stamp
25
27
26
- build/download-packages.stamp : build/build-docker-image.stamp src/download_packages.sh
27
- mkdir -p build/packages
28
+ build/download-packages.stamp : build/build-docker-image.stamp src/compilation/ download_packages.sh
29
+ mkdir -p $( BUILD_PACKAGES_DIR )
28
30
docker run --user $(shell id -u) :$(shell id -g) \
29
31
--rm --volume .:/app/gdb gdb-static env TERM=xterm-256color \
30
- /app/gdb/src/download_packages.sh /app/gdb/build/packages
32
+ /app/gdb/src/compilation/ download_packages.sh /app/gdb/$( BUILD_PACKAGES_DIR ) /
31
33
touch build/download-packages.stamp
32
34
35
+ build/symlink-git-packages.stamp : $(SUBMODULE_PACKAGES )
36
+ mkdir -p $(BUILD_PACKAGES_DIR )
37
+ ln -sf $(addprefix /app/gdb/, $(SUBMODULE_PACKAGES ) ) $(BUILD_PACKAGES_DIR ) /
38
+
39
+ symlink-git-packages : build/symlink-git-packages.stamp
40
+
33
41
download-packages : build/download-packages.stamp
34
42
35
43
build : $(TARGETS )
36
44
37
- $(TARGETS ) : build-% : download-packages build-docker-image
45
+ $(TARGETS ) : build-% : symlink-git-packages download-packages build-docker-image
38
46
mkdir -p build
39
47
docker run --user $(shell id -u) :$(shell id -g) \
40
48
--rm --volume .:/app/gdb gdb-static env TERM=xterm-256color \
41
- /app/gdb/src/build.sh $* /app/gdb/build/ /app/gdb/src
49
+ /app/gdb/src/compilation/ build.sh $* /app/gdb/build/ /app/gdb/src
42
50
43
51
pack : $(PACK_TARGETS )
44
52
@@ -47,7 +55,10 @@ $(PACK_TARGETS): pack-%: build-%
47
55
tar -czf " build/artifacts/gdb-static-$* .tar.gz" -C " build/artifacts/$* " . ; \
48
56
fi
49
57
50
- clean :
58
+ clean-git-packages :
59
+ git submodule foreach ' [[ ! "$$sm_path" == src/submodule_packages/* ]] || git clean -xffd'
60
+
61
+ clean : clean-git-packages
51
62
rm -rf build
52
63
# Kill and remove all containers of image gdb-static
53
64
docker ps -a | grep -P "^[a-f0-9]+\s+gdb-static\s+" | awk '{print $$1}' | xargs docker rm -f 2>/dev/null || true
0 commit comments