7919df829c
Typical (to-be-refactored when having settled down) "cd/git .../cd -" sequences are tweaked to safeguard against changing back without having actually changed to, just in case. features.in/Makefile left with pushd/popd due to its three-level diving course (which somewhat asks to be refactores in functions either but is intrinsically somewhat complex OTOH).
34 lines
848 B
Makefile
34 lines
848 B
Makefile
# step 3: copy the needed subprofiles to $(BUILDDIR)
|
|
|
|
ifndef BUILDDIR
|
|
$(error BUILDDIR not defined)
|
|
endif
|
|
|
|
include $(BUILDDIR)/distcfg.mk
|
|
|
|
# if the subprofile is specified in src/dst notation,
|
|
# take src/ and put it as dst/ (for stage2 variants)
|
|
all:
|
|
@for sub in $(SUBPROFILES); do \
|
|
src="$${sub%/*}" && \
|
|
dst="$${sub#*/}" && \
|
|
neq="$${src#$$dst}" && \
|
|
rsync -qa "$$src/" "$(BUILDDIR)/$$dst/" && \
|
|
if type -t git >&/dev/null && cd "$(BUILDDIR)/$$dst/"; then \
|
|
if [ -n "`git status -s`" ]; then \
|
|
git add . && \
|
|
git commit -qam "$$dst subprofile initialized$${neq:+ (using $$src)}"; \
|
|
fi; \
|
|
cd - >&/dev/null; \
|
|
fi; \
|
|
done
|
|
|
|
clean:
|
|
@for sub in $(SUBPROFILES); do \
|
|
dst="${sub#*/}" && \
|
|
if [ -n "$$dst" -a -n "$(BUILDDIR)" ]; then \
|
|
rm -r "$(BUILDDIR)/$$dst" && \
|
|
mkdir -p "$(BUILDDIR)/$$dst"; \
|
|
fi; \
|
|
done
|