@@ -43,6 +43,7 @@ build: build-linux-amd64 build-linux-arm64 build-windows-amd64
4343
4444build-linux-amd64 : build-linux-amd64-lifecycle build-linux-amd64-symlinks build-linux-amd64-launcher
4545build-linux-arm64 : build-linux-arm64-lifecycle build-linux-arm64-symlinks build-linux-arm64-launcher
46+ build-freebsd-amd64 : build-freebsd-amd64-lifecycle build-freebsd-amd64-symlinks build-freebsd-amd64-launcher
4647build-windows-amd64 : build-windows-amd64-lifecycle build-windows-amd64-symlinks build-windows-amd64-launcher
4748
4849build-image-linux-amd64 : build-linux-amd64 package-linux-amd64
@@ -55,6 +56,11 @@ build-image-linux-arm64: ARCHIVE_PATH=$(BUILD_DIR)/lifecycle-v$(LIFECYCLE_VERSIO
5556build-image-linux-arm64 :
5657 $(GOCMD ) run ./tools/image/main.go -daemon -lifecyclePath $(ARCHIVE_PATH ) -os linux -arch arm64 -tag lifecycle:$(LIFECYCLE_IMAGE_TAG )
5758
59+ build-image-freebsd-amd64 : build-freebsd-amd64 package-freebsd-amd64
60+ build-image-freebsd-amd64 : ARCHIVE_PATH=$(BUILD_DIR ) /lifecycle-v$(LIFECYCLE_VERSION ) +freebsd.x86-64.tgz
61+ build-image-freebsd-amd64 :
62+ $(GOCMD ) run ./tools/image/main.go -daemon -lifecyclePath $(ARCHIVE_PATH ) -os freebsd -arch amd64 -tag lifecycle:$(LIFECYCLE_IMAGE_TAG )
63+
5864build-image-windows-amd64 : build-windows-amd64 package-windows-amd64
5965build-image-windows-amd64 : ARCHIVE_PATH=$(BUILD_DIR ) /lifecycle-v$(LIFECYCLE_VERSION ) +windows.x86-64.tgz
6066build-image-windows-amd64 :
@@ -64,6 +70,8 @@ build-linux-amd64-lifecycle: $(BUILD_DIR)/linux-amd64/lifecycle/lifecycle
6470
6571build-linux-arm64-lifecycle : $(BUILD_DIR ) /linux-arm64/lifecycle/lifecycle
6672
73+ build-freebsd-amd64-lifecycle : $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle
74+
6775$(BUILD_DIR ) /linux-amd64/lifecycle/lifecycle : export GOOS:=linux
6876$(BUILD_DIR ) /linux-amd64/lifecycle/lifecycle : export GOARCH:=amd64
6977$(BUILD_DIR ) /linux-amd64/lifecycle/lifecycle : OUT_DIR?=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle
@@ -82,6 +90,15 @@ $(BUILD_DIR)/linux-arm64/lifecycle/lifecycle:
8290 mkdir -p $(OUT_DIR )
8391 $(GOENV ) $(GOBUILD ) -o $(OUT_DIR ) /lifecycle -a ./cmd/lifecycle
8492
93+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle : export GOOS:=freebsd
94+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle : export GOARCH:=amd64
95+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle : OUT_DIR?=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle
96+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle : $(GOFILES )
97+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/lifecycle :
98+ @echo " > Building lifecycle/lifecycle for $( GOOS) /$( GOARCH) ..."
99+ mkdir -p $(OUT_DIR )
100+ $(GOENV ) $(GOBUILD ) -o $(OUT_DIR ) /lifecycle -a ./cmd/lifecycle
101+
85102build-linux-amd64-launcher : $(BUILD_DIR ) /linux-amd64/lifecycle/launcher
86103
87104$(BUILD_DIR ) /linux-amd64/lifecycle/launcher : export GOOS:=linux
@@ -106,6 +123,18 @@ $(BUILD_DIR)/linux-arm64/lifecycle/launcher:
106123 $(GOENV ) $(GOBUILD ) -o $(OUT_DIR ) /launcher -a ./cmd/launcher
107124 test $$(du -m $(OUT_DIR ) /launcher|cut -f 1 ) -le 3
108125
126+ build-freebsd-amd64-launcher : $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher
127+
128+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher : export GOOS:=freebsd
129+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher : export GOARCH:=amd64
130+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher : OUT_DIR?=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle
131+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher : $(GOFILES )
132+ $(BUILD_DIR ) /freebsd-amd64/lifecycle/launcher :
133+ @echo " > Building lifecycle/launcher for $( GOOS) /$( GOARCH) ..."
134+ mkdir -p $(OUT_DIR )
135+ $(GOENV ) $(GOBUILD ) -o $(OUT_DIR ) /launcher -a ./cmd/launcher
136+ test $$(du -m $(OUT_DIR ) /launcher|cut -f 1 ) -le 3
137+
109138build-linux-amd64-symlinks : export GOOS:=linux
110139build-linux-amd64-symlinks : export GOARCH:=amd64
111140build-linux-amd64-symlinks : OUT_DIR?=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle
@@ -134,6 +163,20 @@ build-linux-arm64-symlinks:
134163 ln -sf lifecycle $(OUT_DIR ) /creator
135164 ln -sf lifecycle $(OUT_DIR ) /extender
136165
166+ build-freebsd-amd64-symlinks : export GOOS:=freebsd
167+ build-freebsd-amd64-symlinks : export GOARCH:=amd64
168+ build-freebsd-amd64-symlinks : OUT_DIR?=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle
169+ build-freebsd-amd64-symlinks :
170+ @echo " > Creating phase symlinks for $( GOOS) /$( GOARCH) ..."
171+ ln -sf lifecycle $(OUT_DIR ) /detector
172+ ln -sf lifecycle $(OUT_DIR ) /analyzer
173+ ln -sf lifecycle $(OUT_DIR ) /restorer
174+ ln -sf lifecycle $(OUT_DIR ) /builder
175+ ln -sf lifecycle $(OUT_DIR ) /exporter
176+ ln -sf lifecycle $(OUT_DIR ) /rebaser
177+ ln -sf lifecycle $(OUT_DIR ) /creator
178+ ln -sf lifecycle $(OUT_DIR ) /extender
179+
137180build-windows-amd64-lifecycle : $(BUILD_DIR ) /windows-amd64/lifecycle/lifecycle.exe
138181
139182$(BUILD_DIR ) /windows-amd64/lifecycle/lifecycle.exe : export GOOS:=windows
@@ -239,6 +282,14 @@ run-syft-linux-arm64:
239282 syft $(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle -o json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.syft.json -o spdx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.spdx.json -o cyclonedx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.cdx.json
240283 syft $(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher -o json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.syft.json -o spdx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.spdx.json -o cyclonedx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.cdx.json
241284
285+ run-syft-freebsd-amd64 : install-syft
286+ run-syft-freebsd-amd64 : export GOOS:=freebsd
287+ run-syft-freebsd-amd64 : export GOARCH:=amd64
288+ run-syft-freebsd-amd64 :
289+ @echo " > Running syft..."
290+ syft $(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle -o json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.syft.json -o spdx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.spdx.json -o cyclonedx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/lifecycle.sbom.cdx.json
291+ syft $(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher -o json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.syft.json -o spdx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.spdx.json -o cyclonedx-json=$(BUILD_DIR ) /$(GOOS ) -$(GOARCH ) /lifecycle/launcher.sbom.cdx.json
292+
242293install-syft :
243294 @echo " > Installing syft..."
244295 curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
@@ -320,6 +371,15 @@ package-linux-arm64:
320371 @echo " > Packaging lifecycle for $( GOOS) /$( GOARCH) ..."
321372 $(GOCMD ) run $(PACKAGER ) --inputDir $(INPUT_DIR ) -archivePath $(ARCHIVE_PATH ) -descriptorPath $(LIFECYCLE_DESCRIPTOR_PATH ) -version $(LIFECYCLE_VERSION )
322373
374+ package-freebsd-amd64 : GOOS:=freebsd
375+ package-freebsd-amd64 : GOARCH:=amd64
376+ package-freebsd-amd64 : INPUT_DIR:=$(BUILD_DIR ) $/$(GOOS ) -$(GOARCH ) $/lifecycle
377+ package-freebsd-amd64 : ARCHIVE_PATH=$(BUILD_DIR ) $/lifecycle-v$(LIFECYCLE_VERSION ) +$(GOOS ) .x86-64.tgz
378+ package-freebsd-amd64 : PACKAGER=.$/tools$/packager$/main.go
379+ package-freebsd-amd64 :
380+ @echo " > Packaging lifecycle for $( GOOS) /$( GOARCH) ..."
381+ $(GOCMD ) run $(PACKAGER ) --inputDir $(INPUT_DIR ) -archivePath $(ARCHIVE_PATH ) -descriptorPath $(LIFECYCLE_DESCRIPTOR_PATH ) -version $(LIFECYCLE_VERSION )
382+
323383package-windows-amd64 : GOOS:=windows
324384package-windows-amd64 : GOARCH:=amd64
325385package-windows-amd64 : INPUT_DIR:=$(BUILD_DIR ) $/$(GOOS ) -$(GOARCH ) $/lifecycle
0 commit comments