head-hvm64 := $(ROOT)/arch/x86/boot/head_hvm64.o
head-hvm32 := $(ROOT)/arch/x86/boot/head_hvm32.o
+defcfg-pv := $(ROOT)/config/default-pv.cfg.in
+defcfg-hvm := $(ROOT)/config/default-hvm.cfg.in
+
+defcfg-pv64 := $(defcfg-pv)
+defcfg-pv32 := $(defcfg-pv)
+defcfg-hvm64 := $(defcfg-hvm)
+defcfg-hvm32 := $(defcfg-hvm)
+
obj-perarch :=
obj-perenv :=
include $(ROOT)/config/files.mk
endif
.PHONY: build
-build: $(foreach env,$(TEST-ENVS),test-$(env)-$(NAME))
+build: $(foreach env,$(TEST-ENVS),test-$(env)-$(NAME) test-$(env)-$(NAME).cfg)
.PHONY: install install-each-env
install: install-each-env
test-$(1)-$(NAME): $$(DEPS-$(1)) $$(link-$(1))
$$(LD) $$(LDFLAGS_$(1)) $$(DEPS-$(1)) -o $$@
+cfg-$(1) ?= $(defcfg-$(1))
+
+test-$(1)-$(NAME).cfg: $$(cfg-$(1))
+ sed -e "s/@@NAME@@/$$(NAME)/g" \
+ -e "s/@@ENV@@/$(1)/g" \
+ < $$< > $$@
+
-include $$(link-$(1):%.lds=%.d)
-include $$(DEPS-$(1):%.o=%.d)
-.PHONY: install-$(1)
+.PHONY: install-$(1) install-$(1).cfg
install-$(1): test-$(1)-$(NAME)
@mkdir -p $(DESTDIR)
install -m775 -p $$< $(DESTDIR)
-install-each-env: install-$(1)
+
+install-$(1).cfg: test-$(1)-$(NAME).cfg
+ @mkdir -p $(DESTDIR)
+ install -m664 -p $$< $(DESTDIR)
+
+install-each-env: install-$(1) install-$(1).cfg
endef
$(foreach env,$(TEST-ENVS),$(eval $(call PERENV_build,$(env))))
.PHONY: clean
clean:
find $(ROOT) \( -name "*.o" -o -name "*.d" \) -delete
- rm -f $(foreach env,$(TEST-ENVS),test-$(env)-$(NAME))
+ rm -f $(foreach env,$(TEST-ENVS),test-$(env)-$(NAME) test-$(env)-$(NAME).cfg)
.PHONY: %var
%var: