Hello list. Since some time the cool '.SECONDEXPANSION' feature has stopped working for me. In a Makefile, I have many rules to link module .DLLs:
mod_airspy_source_OBJ = $(OBJ_DIR)/airspy_source_main.obj mod_airspyhf_source_OBJ = $(OBJ_DIR)/airspyhf_source_main.obj mod_bladerf_source_OBJ = $(OBJ_DIR)/bladerf_source_main.obj ... .SECONDEXPANSION: modules/%.dll: $$(mod_$$*_OBJ) $(call link_DLL, $@, $^) $(mod_airspy_source_OBJ): \ EXTRA_CFLAGS = -I./source_modules/airspy_source/src ... $(OBJ_DIR)/%_main.obj: source_modules/%/src/main.cpp $(call CPP_compile, $<, $@) define CPP_compile $(CC) @$(CC).args $(EXTRA_CFLAGS) -Fo$(strip $(2)) $(1) @echo endef --------------------------------------------------- My problem is that 'EXTRA_CFLAGS' is NOT picked up by the above pattern compile rule when the .SECONDEXPANSION rule is used. This used to work for sure. Now, I have to add a 'link_DLL' macro-call for each .DLL. BTW. Perhaps my problem is related to: https://savannah.gnu.org/bugs/?60799 -- --gv