On 2 June 2017 at 16:49, Alex Bennée <alex.ben...@linaro.org> wrote: > Peter Maydell <peter.mayd...@linaro.org> writes: >> We seem to run into "CONFIG_FOO is defined for make but not >> for the C preprocessor" from time to time, so maybe we should >> fix that? > > Hmm is should be auto-generated from config-(host|target).mak but I've > never quite figured out why we need timestamps rather than a straight > dependency check in rules.mk: > > # Generate timestamp files for .h include files > > config-%.h: config-%.h-timestamp > @cmp $< $@ >/dev/null 2>&1 || cp $< $@ > > config-%.h-timestamp: config-%.mak $(SRC_PATH)/scripts/create_config > $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > > $@,"GEN","$(TARGET_DIR)config-$*.h") > > This seems to be one of those things that goes away on a make clean && rebuild
Not the issue in this case -- what happens is that these CONFIG_* defines are defined in config-devices.mak, but we don't have any equivalent config-devices.h which would expose them to the C code. (I assume the rules.mak stuff is attempting to avoid having a not-an-actual-change to the .h file result in rebuilding the whole world.) thanks -- PMM