FINGERPRINT_FILE=cache.fingerprint .DEFAULT_GOAL := fixtures # requirement 1: 'fixtures' goal to generate any and all test fixtures fixtures: @echo "nothing to do" # requirement 2: 'fingerprint' goal to determine if the fixture input that indicates any existing cache should be busted fingerprint: $(FINGERPRINT_FILE) # requirement 3: we always need to recalculate the fingerprint based on source regardless of any existing fingerprint .PHONY: $(FINGERPRINT_FILE) $(FINGERPRINT_FILE): @find image-* -type f -exec sha256sum {} \; | sort -k2 > $(FINGERPRINT_FILE) @#cat $(FINGERPRINT_FILE) | sha256sum | awk '{print $$1}' # requirement 4: 'clean' goal to remove all generated test fixtures .PHONY: clean clean: rm -f $(FINGERPRINT_FILE)