mirror of
				https://github.com/falk-werner/webfuse
				synced 2025-06-13 12:54:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| SHELL := /bin/sh
 | |
| MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 | |
| MAKEFLAGS += --no-builtin-rules
 | |
| 
 | |
| .SUFFIXES:
 | |
| 
 | |
| .PHONY: default
 | |
| default: all
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Overridable project defaults
 | |
| 
 | |
| DOBUILD_TOPDIR ?= $(DOBUILDDIR)
 | |
| DOBUILD_PROJECTDIR ?= $(patsubst %/,%,$(dir $(MAKEFILE)))
 | |
| DOBUILD_DOCKERFILE ?= $(PROJECTDIR)/%ID%.dockerfile
 | |
| 
 | |
| PROJECTDIR = $(DOBUILD_PROJECTDIR)
 | |
| DOBUILDDIR ?= $(PROJECTDIR)/../..
 | |
| 
 | |
| include $(DOBUILDDIR)/defaults.mk
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Project defaults and macros
 | |
| 
 | |
| DEFAULTTARGET = x86_64-ubuntu@bionic+builder@debug
 | |
| 
 | |
| FETCHDIR = $(BUILDDIR)/.deps
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Project dependencies
 | |
| 
 | |
| GTEST_VERSION = 1.8.1
 | |
| IMAGE_BUILDARGS += GTEST_VERSION=$(GTEST_VERSION)
 | |
| IMAGE_BUILDARGS += GTEST_MTIME=$(call mtime,$(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz)
 | |
| FETCH_TARGETS += $(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz
 | |
| $(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz: URL := https://github.com/google/googletest/archive/release-$(GTEST_VERSION).tar.gz
 | |
| $(SKIP_MD5SUM)$(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz: MD5 := 2e6fbeb6a91310a16efe181886c59596
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Architecture-specific rule target configuration
 | |
| 
 | |
| CMAKE_TARGETS += $(call target_properties_combine,\
 | |
|     ,\
 | |
|     x86_64 arm32v7,\
 | |
|     ubuntu@bionic alpine@3.10,\
 | |
|     ,\
 | |
|     ,\
 | |
|     builder,\
 | |
|     ,\
 | |
|     debug release \
 | |
|   )
 | |
| DOCKER_TARGETS += $(CMAKE_TARGETS)
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Common rule target configuration
 | |
| 
 | |
| CURLFLAGS += -s
 | |
| 
 | |
| DOCKER_RUNFLAGS += --cap-add SYS_PTRACE
 | |
| DOCKER_RUNFLAGS += --security-opt seccomp=unconfined
 | |
| 
 | |
| OUTDIRS += $(OUTDIR)/src
 | |
| 
 | |
| EXTRACT_TARGETS += $(patsubst $(FETCHDIR)/%.tar.gz,$(OUTDIR)/src/%,$(FETCH_TARGETS))
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Makefile dependencies
 | |
| 
 | |
| MAKEFILE_DEPS += gzip
 | |
| MAKEFILE_DEPS += tar
 | |
| MAKEFILE_DEPS += touch
 | |
| MAKEFILE_DEPS += mkdir
 | |
| 
 | |
| #######################################################################################################################
 | |
| # Rules
 | |
| 
 | |
| include $(DOBUILDDIR)/cmake.mk
 | |
| include $(DOBUILDDIR)/docker.mk
 | |
| include $(DOBUILDDIR)/standardrules.mk
 | |
| 
 | |
| $(OUTDIR)/src/%: $(FETCHDIR)/%.tar.gz | $(OUTDIRS)
 | |
| 	$(SILENT) \
 | |
| 	     $(call echo_if_silent_cmd,tar -C $(dir $@) -xf $<) \
 | |
| 	  && tar -I 'gzip -n' -C $(dir $@) -xf $< \
 | |
| 	  && touch $@
 | |
| 
 | |
| $(FETCH_TARGETS): | $(FETCHDIR)
 | |
| 	$(SILENT)$(call curl,$@,$(URL),$(MD5))
 | |
| 
 | |
| $(FETCHDIR):
 | |
| 	$(SILENT)mkdir -p $@
 | |
| 
 | |
| .DELETE_ON_ERROR: $(FETCH_TARGETS)
 | |
| 
 |