make: Global change: Move all public headers to include folder.  Change source to including public headers using #include <ndn-cpp/*>. Split some header files to minimize exposing C .h files.
diff --git a/Makefile.am b/Makefile.am
index b926a93..c87fc75 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,16 +17,60 @@
 bin_PROGRAMS = bin/test-encode-decode-forwarding-entry bin/test-encode-decode-interest bin/test-encode-decode-data \
   bin/test-get-async bin/test-publish-async
 
+# Public C headers.
+ndn_cpp_c_headers = \
+  include/ndn-cpp/ndn-cpp-config.h \
+  include/ndn-cpp/c/common.h \
+  include/ndn-cpp/c/data-types.h \
+  include/ndn-cpp/c/forwarding-flags.h \
+  include/ndn-cpp/c/interest-types.h \
+  include/ndn-cpp/c/key-types.h \
+  include/ndn-cpp/c/encoding/element-listener.h
+
+# Public C++ headers.
+ndn_cpp_cpp_headers = \
+  include/ndn-cpp/common.hpp \
+  include/ndn-cpp/data.hpp \
+  include/ndn-cpp/face.hpp \
+  include/ndn-cpp/forwarding-entry.hpp \
+  include/ndn-cpp/forwarding-flags.hpp \
+  include/ndn-cpp/interest.hpp \
+  include/ndn-cpp/key.hpp \
+  include/ndn-cpp/name.hpp \
+  include/ndn-cpp/node.hpp \
+  include/ndn-cpp/publisher-public-key-digest.hpp \
+  include/ndn-cpp/sha256-with-rsa-signature.hpp \
+  include/ndn-cpp/encoding/element-listener.hpp \
+  include/ndn-cpp/encoding/binary-xml-wire-format.hpp \
+  include/ndn-cpp/encoding/wire-format.hpp \
+  include/ndn-cpp/security/security-common.hpp \
+  include/ndn-cpp/security/key-chain.hpp \
+  include/ndn-cpp/security/security-exception.hpp \
+  include/ndn-cpp/security/certificate/oid.hpp \
+  include/ndn-cpp/security/certificate/public-key.hpp \
+  include/ndn-cpp/security/encryption/encryption-manager.hpp \
+  include/ndn-cpp/security/identity/basic-identity-storage.hpp \
+  include/ndn-cpp/security/identity/identity-manager.hpp \
+  include/ndn-cpp/security/identity/identity-storage.hpp \
+  include/ndn-cpp/security/identity/memory-identity-storage.hpp \
+  include/ndn-cpp/security/identity/memory-private-key-storage.hpp \
+  include/ndn-cpp/security/identity/osx-private-key-storage.hpp \
+  include/ndn-cpp/security/identity/private-key-storage.hpp \
+  include/ndn-cpp/security/policy/no-verify-policy-manager.hpp \
+  include/ndn-cpp/security/policy/policy-manager.hpp \
+  include/ndn-cpp/transport/tcp-transport.hpp \
+  include/ndn-cpp/transport/transport.hpp \
+  include/ndn-cpp/transport/udp-transport.hpp \
+  include/ndn-cpp/util/blob.hpp \
+  include/ndn-cpp/util/signed-blob.hpp
+
 # Just the C code.
-libndn_c_la_SOURCES = \
-  ndn-cpp/ndn-cpp-config.h \
-  ndn-cpp/c/common.h \
+libndn_c_la_SOURCES = $(ndn_cpp_c_headers) \
   ndn-cpp/c/data.h \
   ndn-cpp/c/errors.c ndn-cpp/c/errors.h \
   ndn-cpp/c/forwarding-entry.h \
-  ndn-cpp/c/forwarding-flags.c ndn-cpp/c/forwarding-flags.h \
+  ndn-cpp/c/forwarding-flags.c \
   ndn-cpp/c/interest.c ndn-cpp/c/interest.h \
-  ndn-cpp/c/key.h \
   ndn-cpp/c/name.c ndn-cpp/c/name.h \
   ndn-cpp/c/publisher-public-key-digest.h \
   ndn-cpp/c/encoding/binary-xml.h \
@@ -50,51 +94,40 @@
   ndn-cpp/c/util/ndn_realloc.c ndn-cpp/c/util/ndn_realloc.h
 
 # C++ code and also the C code.
-libndn_cpp_la_SOURCES = \
-  $(libndn_c_la_SOURCES) \
-  ndn-cpp/ndn-cpp-config.h \
-  ndn-cpp/c/common.h \
-  ndn-cpp/common.hpp ndn-cpp/common.cpp \
-  ndn-cpp/data.cpp ndn-cpp/c/data.h ndn-cpp/data.hpp \
-  ndn-cpp/face.cpp ndn-cpp/face.hpp \
-  ndn-cpp/forwarding-entry.cpp ndn-cpp/c/forwarding-entry.h ndn-cpp/forwarding-entry.hpp \
-  ndn-cpp/c/forwarding-entry.h ndn-cpp/forwarding-entry.hpp \
-  ndn-cpp/interest.cpp ndn-cpp/c/interest.h ndn-cpp/interest.hpp \
-  ndn-cpp/key.cpp ndn-cpp/c/key.h ndn-cpp/key.hpp \
-  ndn-cpp/name.cpp ndn-cpp/c/name.h ndn-cpp/name.hpp \
-  ndn-cpp/node.cpp ndn-cpp/node.hpp \
-  ndn-cpp/publisher-public-key-digest.hpp \
-  ndn-cpp/sha256-with-rsa-signature.cpp ndn-cpp/sha256-with-rsa-signature.hpp \
-  ndn-cpp/c/encoding/binary-xml.h \
-  ndn-cpp/c/encoding/binary-xml-decoder.h ndn-cpp/encoding/binary-xml-decoder.hpp \
-  ndn-cpp/c/encoding/binary-xml-element-reader.h ndn-cpp/encoding/binary-xml-element-reader.cpp ndn-cpp/encoding/binary-xml-element-reader.hpp \
-  ndn-cpp/c/encoding/binary-xml-encoder.h ndn-cpp/encoding/binary-xml-encoder.hpp ndn-cpp/c/util/dynamic-uint8-array.h \
-  ndn-cpp/c/encoding/binary-xml-structure-decoder.h ndn-cpp/encoding/binary-xml-structure-decoder.hpp \
-  ndn-cpp/encoding/binary-xml-wire-format.cpp ndn-cpp/c/encoding/binary-xml-name.h ndn-cpp/encoding/binary-xml-wire-format.hpp \
-  ndn-cpp/encoding/wire-format.cpp ndn-cpp/encoding/wire-format.hpp \
-  ndn-cpp/security/security-common.hpp \
-  ndn-cpp/security/key-chain.cpp ndn-cpp/security/key-chain.hpp \
-  ndn-cpp/security/security-exception.cpp ndn-cpp/security/security-exception.hpp \
-  ndn-cpp/security/certificate/oid.cpp ndn-cpp/security/certificate/oid.hpp \
-  ndn-cpp/security/certificate/public-key.cpp ndn-cpp/security/certificate/public-key.hpp \
-  ndn-cpp/security/encryption/encryption-manager.hpp \
-  ndn-cpp/security/identity/basic-identity-storage.cpp ndn-cpp/security/identity/basic-identity-storage.hpp \
-  ndn-cpp/security/identity/identity-manager.cpp ndn-cpp/security/identity/identity-manager.hpp \
-  ndn-cpp/security/identity/identity-storage.hpp \
-  ndn-cpp/security/identity/memory-identity-storage.cpp ndn-cpp/security/identity/memory-identity-storage.hpp \
-  ndn-cpp/security/identity/memory-private-key-storage.cpp ndn-cpp/security/identity/memory-private-key-storage.hpp \
-  ndn-cpp/security/identity/osx-private-key-storage.cpp ndn-cpp/security/identity/osx-private-key-storage.hpp \
-  ndn-cpp/security/identity/private-key-storage.hpp \
-  ndn-cpp/security/policy/no-verify-policy-manager.cpp ndn-cpp/security/policy/no-verify-policy-manager.hpp \
-  ndn-cpp/security/policy/policy-manager.hpp \
-  ndn-cpp/c/transport/socket-transport.h ndn-cpp/c/transport/tcp-transport.h ndn-cpp/transport/tcp-transport.cpp ndn-cpp/transport/tcp-transport.hpp \
-  ndn-cpp/transport/transport.cpp ndn-cpp/transport/transport.hpp \
-  ndn-cpp/c/transport/socket-transport.h ndn-cpp/c/transport/udp-transport.h ndn-cpp/transport/udp-transport.cpp ndn-cpp/transport/udp-transport.hpp \
-  ndn-cpp/util/blob.hpp \
+libndn_cpp_la_SOURCES = $(libndn_c_la_SOURCES) $(ndn_cpp_cpp_headers) \
+  ndn-cpp/common.cpp \
+  ndn-cpp/data.cpp \
+  ndn-cpp/face.cpp \
+  ndn-cpp/forwarding-entry.cpp \
+  ndn-cpp/interest.cpp \
+  ndn-cpp/key.cpp \
+  ndn-cpp/name.cpp \
+  ndn-cpp/node.cpp \
+  ndn-cpp/publisher-public-key-digest.cpp \
+  ndn-cpp/sha256-with-rsa-signature.cpp \
+  ndn-cpp/encoding/binary-xml-decoder.hpp \
+  ndn-cpp/encoding/binary-xml-encoder.hpp \
+  ndn-cpp/encoding/binary-xml-structure-decoder.hpp \
+  ndn-cpp/encoding/binary-xml-wire-format.cpp \
+  ndn-cpp/encoding/element-listener.cpp \
+  ndn-cpp/encoding/wire-format.cpp \
+  ndn-cpp/security/key-chain.cpp \
+  ndn-cpp/security/security-exception.cpp \
+  ndn-cpp/security/certificate/oid.cpp \
+  ndn-cpp/security/certificate/public-key.cpp \
+  ndn-cpp/security/identity/basic-identity-storage.cpp \
+  ndn-cpp/security/identity/identity-manager.cpp \
+  ndn-cpp/security/identity/memory-identity-storage.cpp \
+  ndn-cpp/security/identity/memory-private-key-storage.cpp \
+  ndn-cpp/security/identity/osx-private-key-storage.cpp \
+  ndn-cpp/security/policy/no-verify-policy-manager.cpp \
+  ndn-cpp/transport/tcp-transport.cpp \
+  ndn-cpp/transport/transport.cpp \
+  ndn-cpp/transport/udp-transport.cpp \
+  ndn-cpp/util/blob.cpp \
   ndn-cpp/util/changed-event.cpp ndn-cpp/util/changed-event.hpp \
   ndn-cpp/util/dynamic-uint8-vector.cpp ndn-cpp/util/dynamic-uint8-vector.hpp \
-  ndn-cpp/util/logging.cpp ndn-cpp/util/logging.hpp \
-  ndn-cpp/util/signed-blob.hpp
+  ndn-cpp/util/logging.cpp ndn-cpp/util/logging.hpp
 
 bin_test_encode_decode_forwarding_entry_SOURCES = tests/test-encode-decode-forwarding-entry.cpp
 bin_test_encode_decode_forwarding_entry_LDADD = libndn-cpp.la