@@ -69,6 +69,14 @@ SOFTWARE = BCACHE_TOOLS \
6969 ZLIB \
7070 ZSTD
7171
72+ FEATURE_COMPONENTS = append_base_layout \
73+ create_initramfs \
74+ determine_real_args \
75+ genkernel_conf \
76+ initramfs_append_func \
77+ longusage \
78+ parse_cmdline
79+
7280SOFTWARE_VERSION = $(foreach entry, $(SOFTWARE ) , "VERSION_$(entry ) =${VERSION_$(entry ) }\n")
7381
7482PREFIX = /usr/local
8088endif
8189MANDIR = $(PREFIX ) /share/man
8290
91+ FEATURE_FILES = $(addprefix $(addprefix $(BUILD_DIR ) /features/, $(GK_FEATURES ) ) /, $(FEATURE_COMPONENTS ) )
92+
8393all : $(BUILD_DIR ) /genkernel $(BUILD_DIR ) /build-config man kconfig
8494
8595debug :
8696 @echo " ARCH_KCONF=$( ARCH_KCONF) "
8797 @echo " GENERATED_KCONF=$( GENERATED_KCONF) "
8898 @echo " PACKAGE_VERSION=$( PACKAGE_VERSION) "
99+ @echo " FEATURE_FILES: $( FEATURE_FILES) "
89100
90101kconfig : $(GENERATED_KCONF )
91102man : $(addprefix $(BUILD_DIR ) /,$(MANPAGE ) )
@@ -186,8 +197,23 @@ $(BUILD_DIR)/software.sh:
186197 echo -e $(SOFTWARE_VERSION ) > $(BUILD_DIR ) /temp/versions
187198 cat $(BUILD_DIR ) /temp/versions defaults/software.sh > $(BUILD_DIR ) /software.sh
188199
189- $(BUILD_DIR ) /doc/genkernel.8.txt :
190- install -D doc/genkernel.8.txt $(BUILD_DIR ) /doc/genkernel.8.txt
200+ $(BUILD_DIR ) /temp/% :
201+ install -d $(@D )
202+ echo > $@
203+ ifdef GK_FEATURES
204+ cat $(addsuffix /$(@F) <(echo), $(addprefix features/,${GK_FEATURES})) > $@
205+ endif
206+
207+ $(BUILD_DIR ) /doc/genkernel.8.txt : $(BUILD_DIR ) /temp/man_genkernel_8
208+ install -d $(BUILD_DIR ) /doc/
209+ cat doc/genkernel.8.txt | sed \
210+ -e ' /\/\/ BEGIN FEATURES man_genkernel_8/ r $(BUILD_DIR)/temp/man_genkernel_8' \
211+ > $(BUILD_DIR ) /doc/genkernel.8.txt
212+
213+ $(BUILD_DIR ) /genkernel.conf : $(BUILD_DIR ) /temp/genkernel_conf
214+ cat genkernel.conf | sed \
215+ -e ' /# BEGIN FEATURES genkernel_conf/ r $(BUILD_DIR)/temp/genkernel_conf' \
216+ > $(BUILD_DIR ) /genkernel.conf
191217
192218$(BUILD_DIR ) /% : %
193219 install -D $< $@
0 commit comments