github.com/hpcng/singularity@v3.1.1+incompatible/mlocal/frags/build_cli.mk (about) 1 # This file contains all of the rules for building the singularity CLI binary 2 3 # singularity build config 4 singularity_build_config := $(SOURCEDIR)/internal/pkg/buildcfg/config.go 5 $(singularity_build_config): $(BUILDDIR)/config.h 6 $(V)rm -f $(singularity_build_config) 7 $(V)export BUILDDIR=$(BUILDDIR_ABSPATH) && cd $(SOURCEDIR)/internal/pkg/buildcfg && go generate 8 9 CLEANFILES += $(singularity_build_config) 10 11 # singularity 12 singularity_SOURCE := $(shell $(SOURCEDIR)/makeit/gengodep $(SOURCEDIR)/cmd/singularity/cli.go) 13 14 singularity := $(BUILDDIR)/singularity 15 $(singularity): $(singularity_build_config) $(singularity_SOURCE) 16 @echo " GO" $@; echo " [+] GO_TAGS" \"$(GO_TAGS)\" 17 $(V)go build $(GO_BUILDMODE) -tags "$(GO_TAGS)" $(GO_LDFLAGS) -o $(BUILDDIR)/singularity $(SOURCEDIR)/cmd/singularity/cli.go 18 19 singularity_INSTALL := $(DESTDIR)$(BINDIR)/singularity 20 $(singularity_INSTALL): $(singularity) 21 @echo " INSTALL" $@ 22 $(V)install -d $(@D) 23 $(V)install -m 0755 $(singularity) $(singularity_INSTALL) # set cp to install 24 25 CLEANFILES += $(singularity) 26 INSTALLFILES += $(singularity_INSTALL) 27 ALL += $(singularity) 28 29 30 # bash_completion file 31 bash_completion := $(BUILDDIR)/etc/bash_completion.d/singularity 32 $(bash_completion): $(singularity_build_config) 33 @echo " GEN" $@ 34 $(V)rm -f $@ 35 $(V)mkdir -p $(@D) 36 $(V)go run -tags "$(GO_TAGS)" $(SOURCEDIR)/cmd/bash_completion/bash_completion.go $@ 37 38 bash_completion_INSTALL := $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/singularity 39 $(bash_completion_INSTALL): $(bash_completion) 40 @echo " INSTALL" $@ 41 $(V)install -d $(@D) 42 $(V)install -m 0644 $< $@ 43 44 CLEANFILES += $(bash_completion) 45 INSTALLFILES += $(bash_completion_INSTALL) 46 ALL += $(bash_completion) 47 48 49 # singularity.conf file 50 config := $(BUILDDIR)/singularity.conf 51 config_INSTALL := $(DESTDIR)$(SYSCONFDIR)/singularity/singularity.conf 52 # override this to empty to avoid merging old configuration settings 53 old_config := $(config_INSTALL) 54 55 $(config): $(singularity_build_config) $(SOURCEDIR)/etc/conf/gen.go $(SOURCEDIR)/internal/pkg/runtime/engines/singularity/config/data/singularity.conf $(SOURCEDIR)/internal/pkg/runtime/engines/singularity/config/config.go 56 @echo " GEN $@`if [ -n "$(old_config)" ]; then echo " from $(old_config)"; fi`" 57 $(V)go run $(SOURCEDIR)/etc/conf/gen.go \ 58 $(SOURCEDIR)/internal/pkg/runtime/engines/singularity/config/data/singularity.conf $(old_config) $(config) 59 60 $(config_INSTALL): $(config) 61 @echo " INSTALL" $@ 62 $(V)install -d $(@D) 63 $(V)install -m 0644 $< $@ 64 65 INSTALLFILES += $(config_INSTALL) 66 ALL += $(config)