These headers are not related to any Make rule but they do appear in compiling of libreg.so, specifying .h files in compiler cmdline is flagged as error by clang | clang-4.0: error: cannot specify -o when generating multiple output files | make: *** [libreg.so] Error 1 This is how we see headers in cmdline -O2 -fpic -std=gnu 99 -Wall -Werror -pedantic -Wall -g -DUSE_GCRYPT -DCONFIG_LIBNL30 `pkg-config --cflags libnl-3.0` -o libreg.so -shared -Wl,-soname,libreg.so regdb.h reglib.h reglib.c keys-gcrypt.c -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L ./ -lm -lgcrypt Signed-off-by: Khem Raj --- a/Makefile.kk 2016-11-15 04:54:53.338670000 +0000 +++ a/Makefile 2016-11-15 04:55:07.718670000 +0000 @@ -114,7 +114,7 @@ keys-%.c: utils/key2pub.py $(wildcard $( $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem) $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@ -$(LIBREG): regdb.h reglib.h reglib.c +$(LIBREG): reglib.c $(NQ) ' CC ' $@ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LDFLAGS) $(LIBREGLDLIBS)