@@ -26,6 +26,9 @@ GO_MOD_FLAGS = -mod=readonly
2626GO_BUILD_PACKAGES := ./cmd/oc-mirror
2727GO_PACKAGE = github.com/openshift/oc-mirror/v2
2828
29+ # Due to the complexity of managing C cross-compiler toolchains, cross-building with CGO_ENABLED on the non-native architecture is not supported.
30+ CGO_ENABLED ?= 0
31+
2932LIBDM_BUILD_TAG = $(shell ./hack/libdm_tag.sh)
3033LIBSUBID_BUILD_TAG = $(shell ./hack/libsubid_tag.sh)
3134BTRFS_BUILD_TAG = $(shell ./hack/btrfs_tag.sh) $(shell ./hack/btrfs_installed_tag.sh)
@@ -81,25 +84,25 @@ clean:
8184
8285build :
8386 make -C v1 build
84- @cp v1/bin /oc-mirror ./cmd/oc-mirror/data/oc-mirror-v1
87+ @cp v1/$( GO_BUILD_BINDIR ) /oc-mirror ./cmd/oc-mirror/data/oc-mirror-v1
8588 mkdir -p $(GO_BUILD_BINDIR )
8689 go build $(GO_MOD_FLAGS ) $(GO_BUILD_FLAGS ) $(GO_LD_FLAGS ) -o $(GO_BUILD_BINDIR ) ./...
8790.PHONY : build
8891
8992cross-build-linux-amd64 :
90- +@GOOS=linux GOARCH=amd64 $(MAKE ) " $( GO_BUILD_FLAGS ) " --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-amd64
93+ +@CGO_ENABLED= $( CGO_ENABLED ) GOOS=linux GOARCH=amd64 $(MAKE ) --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-amd64
9194.PHONY : cross-build-linux-amd64
9295
9396cross-build-linux-ppc64le :
94- +@GOOS=linux GOARCH=ppc64le $(MAKE ) " $( GO_BUILD_FLAGS ) " --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-ppc64le
97+ +@CGO_ENABLED= $( CGO_ENABLED ) GOOS=linux GOARCH=ppc64le $(MAKE ) --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-ppc64le
9598.PHONY : cross-build-linux-ppc64le
9699
97100cross-build-linux-s390x :
98- +@GOOS=linux GOARCH=s390x $(MAKE ) " $( GO_BUILD_FLAGS ) " --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-s390x
101+ +@CGO_ENABLED= $( CGO_ENABLED ) GOOS=linux GOARCH=s390x $(MAKE ) --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-s390x
99102.PHONY : cross-build-linux-s390x
100103
101104cross-build-linux-arm64 :
102- +@GOOS=linux GOARCH=arm64 $(MAKE ) " $( GO_BUILD_FLAGS ) " --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-arm64
105+ +@CGO_ENABLED= $( CGO_ENABLED ) GOOS=linux GOARCH=arm64 $(MAKE ) --no-print-directory build GO_BUILD_BINDIR=$(GO_BUILD_BINDIR ) /linux-arm64
103106.PHONY : cross-build-linux-arm64
104107
105108cross-build : cross-build-linux-amd64 cross-build-linux-ppc64le cross-build-linux-s390x cross-build-linux-arm64
0 commit comments