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)
 | 
						|
 |