mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 15:26:17 +02:00
Add a Makefile for the scripts directory
This commit is contained in:
parent
1a1d8b073a
commit
962551a071
7 changed files with 93 additions and 12 deletions
|
@ -11,6 +11,7 @@ SUBS = \
|
||||||
src/nix-daemon/Makefile.new \
|
src/nix-daemon/Makefile.new \
|
||||||
src/nix-log2xml/Makefile.new \
|
src/nix-log2xml/Makefile.new \
|
||||||
src/bsdiff-4.3/Makefile.new \
|
src/bsdiff-4.3/Makefile.new \
|
||||||
|
scripts/Makefile.new \
|
||||||
corepkgs/Makefile.new
|
corepkgs/Makefile.new
|
||||||
|
|
||||||
GLOBAL_CXXFLAGS = -I . -I src -I src/libutil -I src/libstore -I src/libmain -I src/libexpr
|
GLOBAL_CXXFLAGS = -I . -I src -I src/libutil -I src/libstore -I src/libmain -I src/libexpr
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
corepkgs_FILES = nar.nix buildenv.nix buildenv.pl unpack-channel.nix derivation.nix fetchurl.nix imported-drv-to-derivation.nix
|
corepkgs_FILES = nar.nix buildenv.nix buildenv.pl unpack-channel.nix derivation.nix fetchurl.nix imported-drv-to-derivation.nix
|
||||||
|
|
||||||
$(foreach file,config.nix $(corepkgs_FILES),$(eval $(call install-file-in,$(datadir)/nix/corepkgs,$(d)/$(file))))
|
$(foreach file,config.nix $(corepkgs_FILES),$(eval $(call install-data-in,$(d)/$(file),$(datadir)/nix/corepkgs)))
|
||||||
|
|
||||||
template_files += $(d)/config.nix
|
template_files += $(d)/config.nix
|
||||||
|
|
|
@ -9,15 +9,47 @@ define create-dir =
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
# Add a rule for installing file $(2) in directory $(1). The
|
# Add a rule for installing file $(1) as file $(2) with mode $(3).
|
||||||
# directory will be created automatically.
|
# The directory containing $(2) will be created automatically.
|
||||||
define install-file-in =
|
define install-file-as =
|
||||||
|
|
||||||
install:: $(1)/$(notdir $(2))
|
install: $(2)
|
||||||
|
|
||||||
$$(eval $$(call create-dir,$(1)))
|
$$(eval $$(call create-dir,$$(dir $(2))))
|
||||||
|
|
||||||
$(1)/$(notdir $(2)): $(2) | $(1)
|
$(2): $(1) | $$(dir $(2))
|
||||||
$(QUIET) install -t $(1) $(2)
|
$(QUIET) install -m $(3) $(1) $(2)
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
# Add a rule for installing file $(1) in directory $(2) with mode
|
||||||
|
# $(3). The directory will be created automatically.
|
||||||
|
define install-file-in =
|
||||||
|
$$(eval $$(call install-file-as,$(1),$(2)/$$(notdir $(1)),$(3)))
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define install-program-in =
|
||||||
|
$$(eval $$(call install-file-in,$(1),$(2),0755))
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define install-data-in =
|
||||||
|
$$(eval $$(call install-file-in,$(1),$(2),0644))
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
# Install a symlink from $(2) to $(1). Note that $(1) need not exist.
|
||||||
|
define install-symlink =
|
||||||
|
|
||||||
|
install: $(2)
|
||||||
|
|
||||||
|
$$(eval $$(call create-dir,$$(dir $(2))))
|
||||||
|
|
||||||
|
$(2): | $$(dir $(2))
|
||||||
|
ln -sfn $(1) $(2)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,14 @@ template_files += Makefile.config
|
||||||
include Makefile.config
|
include Makefile.config
|
||||||
|
|
||||||
|
|
||||||
|
# Get rid of default suffixes. FIXME: is this a good idea?
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
# Initialise some variables.
|
# Initialise some variables.
|
||||||
QUIET = @
|
QUIET = @
|
||||||
|
bin_SCRIPTS :=
|
||||||
|
noinst_SCRIPTS :=
|
||||||
|
|
||||||
|
|
||||||
# Pass -fPIC if we're building dynamic libraries.
|
# Pass -fPIC if we're building dynamic libraries.
|
||||||
|
@ -46,6 +52,9 @@ $(foreach mf, $(SUBS), $(eval $(call include-sub-makefile, $(mf))))
|
||||||
# Instantiate stuff.
|
# Instantiate stuff.
|
||||||
$(foreach lib, $(LIBS), $(eval $(call build-library,$(lib))))
|
$(foreach lib, $(LIBS), $(eval $(call build-library,$(lib))))
|
||||||
$(foreach prog, $(PROGRAMS), $(eval $(call build-program,$(prog))))
|
$(foreach prog, $(PROGRAMS), $(eval $(call build-program,$(prog))))
|
||||||
|
$(foreach script, $(bin_SCRIPTS), $(eval $(call install-program-in,$(script),$(bindir))))
|
||||||
|
$(foreach script, $(bin_SCRIPTS), $(eval programs_list += $(script)))
|
||||||
|
$(foreach script, $(noinst_SCRIPTS), $(eval programs_list += $(script)))
|
||||||
$(foreach template, $(template_files), $(eval $(call instantiate-template,$(template))))
|
$(foreach template, $(template_files), $(eval $(call instantiate-template,$(template))))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ define build-program =
|
||||||
|
|
||||||
$$(eval $$(call create-dir,$$($(1)_INSTALL_DIR)))
|
$$(eval $$(call create-dir,$$($(1)_INSTALL_DIR)))
|
||||||
|
|
||||||
install:: $$($(1)_INSTALL_PATH)
|
install: $$($(1)_INSTALL_PATH)
|
||||||
|
|
||||||
ifeq ($(BUILD_SHARED_LIBS), 1)
|
ifeq ($(BUILD_SHARED_LIBS), 1)
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
# substitutes all ‘@var@’ variables set by the configure script).
|
# substitutes all ‘@var@’ variables set by the configure script).
|
||||||
define instantiate-template =
|
define instantiate-template =
|
||||||
|
|
||||||
$(1): $(1).in
|
|
||||||
./config.status --file $(1)
|
|
||||||
|
|
||||||
clean_files += $(1)
|
clean_files += $(1)
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
%: %.in
|
||||||
|
$(QUIET) ./config.status --quiet --file $@
|
||||||
|
|
39
scripts/Makefile.new
Normal file
39
scripts/Makefile.new
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
nix_bin_scripts := \
|
||||||
|
$(d)/nix-build \
|
||||||
|
$(d)/nix-channel \
|
||||||
|
$(d)/nix-collect-garbage \
|
||||||
|
$(d)/nix-copy-closure \
|
||||||
|
$(d)/nix-generate-patches \
|
||||||
|
$(d)/nix-install-package \
|
||||||
|
$(d)/nix-prefetch-url \
|
||||||
|
$(d)/nix-pull \
|
||||||
|
$(d)/nix-push
|
||||||
|
|
||||||
|
bin_SCRIPTS += $(nix_bin_scripts)
|
||||||
|
|
||||||
|
nix_substituters := \
|
||||||
|
$(d)/copy-from-other-stores.pl \
|
||||||
|
$(d)/download-from-binary-cache.pl \
|
||||||
|
$(d)/download-using-manifests.pl
|
||||||
|
|
||||||
|
nix_noinst_scripts := \
|
||||||
|
$(d)/build-remote.pl \
|
||||||
|
$(d)/find-runtime-roots.pl \
|
||||||
|
$(d)/nix-http-export.cgi \
|
||||||
|
$(d)/nix-profile.sh \
|
||||||
|
$(d)/nix-reduce-build \
|
||||||
|
$(nix_substituters)
|
||||||
|
|
||||||
|
noinst_SCRIPTS += $(nix_noinst_scripts)
|
||||||
|
|
||||||
|
profiledir = $(sysconfdir)/profile.d
|
||||||
|
|
||||||
|
$(eval $(call install-file-as, $(d)/nix-profile.sh, $(profiledir)/nix.sh, 0644))
|
||||||
|
$(eval $(call install-program-in, $(d)/find-runtime-roots.pl, $(libexecdir)/nix))
|
||||||
|
$(eval $(call install-program-in, $(d)/build-remote.pl, $(libexecdir)/nix))
|
||||||
|
$(foreach prog, $(nix_substituters), $(eval $(call install-program-in, $(prog), $(libexecdir)/nix/substituters)))
|
||||||
|
$(eval $(call install-symlink, nix-build, $(bindir)/nix-shell))
|
||||||
|
|
||||||
|
clean_files += $(nix_bin_scripts) $(nix_noinst_scripts)
|
||||||
|
|
||||||
|
dist_files += $(d)/*.in
|
Loading…
Reference in a new issue