I have a makefile template to compile a single DLL (for a plugin system). The makefile of the user looks like this:
EXTRA_SRCS=file1 file2 include makefile.in >
Does the simple
$(filter $(wildcard *.h),$(HEADER_FILES))
do what you want?