github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/golang/test-fixtures/archs/Makefile (about)

     1  DESTINATION=binaries
     2  FINGERPRINT_FILE=$(DESTINATION).fingerprint
     3  
     4  ifndef DESTINATION
     5      $(error DESTINATION is not set)
     6  endif
     7  
     8  .DEFAULT_GOAL := fixtures
     9  
    10  # requirement 1: 'fixtures' goal to generate any and all test fixtures
    11  fixtures: $(DESTINATION)
    12  
    13  # requirement 2: 'fingerprint' goal to determine if the fixture input that indicates any existing cache should be busted
    14  fingerprint: $(DESTINATION).fingerprint
    15  
    16  $(DESTINATION): $(DESTINATION)/hello-mach-o-arm64 $(DESTINATION)/hello-linux-arm $(DESTINATION)/hello-linux-ppc64le $(DESTINATION)/hello-win-amd64
    17  
    18  $(DESTINATION)/hello-mach-o-arm64:
    19  	GOARCH=arm64 GOOS=darwin ./src/build.sh $(DESTINATION)/hello-mach-o-arm64
    20  
    21  $(DESTINATION)/hello-linux-arm:
    22  	GOARCH=arm GOOS=linux ./src/build.sh $(DESTINATION)/hello-linux-arm
    23  
    24  $(DESTINATION)/hello-linux-ppc64le:
    25  	GOARCH=ppc64le GOOS=linux ./src/build.sh $(DESTINATION)/hello-linux-ppc64le
    26  
    27  $(DESTINATION)/hello-win-amd64:
    28  	GOARCH=amd64 GOOS=windows ./src/build.sh $(DESTINATION)/hello-win-amd64
    29  
    30  # requirement 3: we always need to recalculate the fingerprint based on source regardless of any existing fingerprint
    31  .PHONY: $(FINGERPRINT_FILE)
    32  $(FINGERPRINT_FILE):
    33  	@find src -type f -exec sha256sum {} \; | sort -k2 > $(FINGERPRINT_FILE)
    34  	@#cat $(FINGERPRINT_FILE) | sha256sum | awk '{print $$1}'
    35  
    36  # requirement 4: 'clean' goal to remove all generated test fixtures
    37  .PHONY: clean
    38  clean:
    39  	rm -rf $(DESTINATION)