diff --git a/Makefile.am b/Makefile.am
index c6a2f84becd7f25ebba0f26abbaa6f7a248f7db2..67e8d256c7933eb95cd2dd52f4bed19bdfe48c1d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,3 +35,8 @@ test_opus_LDADD = libopus.la -lm
 test_repacketizer_SOURCES = src/test_repacketizer.c
 
 test_repacketizer_LDADD = libopus.la -lm
+
+EXTRA_DIST = opus.pc.in opus-uninstalled.pc.in
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = opus.pc
diff --git a/configure.ac b/configure.ac
index 609b4f13287812d83007696094d20cafdd51f7d6..4b42131f7d936cad979750e4628143e3aa36b33a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -207,7 +207,8 @@ fi
 
 AM_CONDITIONAL([FIXED_POINT], [test x$ac_enable_fixed = xyes])
 
-AC_OUTPUT([Makefile libcelt/Makefile])
+AC_OUTPUT([Makefile libcelt/Makefile
+           opus.pc opus-uninstalled.pc])
 
 AC_MSG_RESULT([
 ------------------------------------------------------------------------
diff --git a/opus-uninstalled.pc.in b/opus-uninstalled.pc.in
new file mode 100644
index 0000000000000000000000000000000000000000..b6a86789e42336eb1bebd16a027c84c0b62185fc
--- /dev/null
+++ b/opus-uninstalled.pc.in
@@ -0,0 +1,12 @@
+# opus codec reference implementation uninstalled pkg-config file
+
+libdir=${pcfiledir}/.libs
+includedir=${pcfiledir}
+
+Name: opus uninstalled
+Description: Opus IETF audio codec (not installed)
+Version: @VERSION@
+Requires:
+Conflicts:
+Libs: ${libdir}/libopus.a
+Cflags: -I${includedir}/src -I${includedir}/libcelt
diff --git a/opus.pc.in b/opus.pc.in
new file mode 100644
index 0000000000000000000000000000000000000000..f702969a6cf827c155d2a07c56170d6f29d53907
--- /dev/null
+++ b/opus.pc.in
@@ -0,0 +1,15 @@
+# opus codec reference implementation pkg-config file
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: Opus
+Description: Opus IETF low-latency audio codec
+URL: http://opus-codec.org/
+Version: @VERSION@
+Requires:
+Conflicts:
+Libs: -L${libdir} -lopus
+Cflags: -I${includedir}/opus