diff --git a/Makefile b/Makefile
index 1f100c0a5c990fa6b0a8f6a37d8c1e1818002412..bf2161a556af15a4d03dcebf15c399a493b0d5f6 100644
--- a/Makefile
+++ b/Makefile
@@ -17,5 +17,6 @@ SUBDIR+=	sot-gui
 SUBDIR+=	spark-genom
 SUBDIR+=	stackoftasks
 SUBDIR+=	visp
+SUBDIR+=  liblbfgs
 
 include ../mk/robotpkg.subdir.mk
diff --git a/liblbfgs/DESCR b/liblbfgs/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..04ef969694ac9cc59726d0ec8aa8d401f685c695
--- /dev/null
+++ b/liblbfgs/DESCR
@@ -0,0 +1,16 @@
+This library is a C port of the implementation of Limited-memory 
+Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method written by Jorge Nocedal. The 
+original FORTRAN source code is available at: 
+http://www.ece.northwestern.edu/~nocedal/lbfgs.html
+The L-BFGS method solves the unconstrainted minimization problem,
+
+    minimize F(x), x = (x1, x2, ..., xN),
+
+only if the objective function F(x) and its gradient G(x) are computable. The 
+well-known Newton's method requires computation of the inverse of the hessian 
+matrix of the objective function. However, the computational cost for the inverse 
+hessian matrix is expensive especially when the objective function takes a large 
+number of variables. The L-BFGS method iteratively finds a minimizer by 
+approximating the inverse hessian matrix by information from last m iterations. 
+This innovation saves the memory storage and computational time drastically for 
+large-scaled problems.
\ No newline at end of file
diff --git a/liblbfgs/Makefile b/liblbfgs/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..603d4f5c0c775e4a359b2d06510ae036ab9f7382
--- /dev/null
+++ b/liblbfgs/Makefile
@@ -0,0 +1,35 @@
+# $LAAS: Makefile 2010/03/22 16:02:45 nksallem $
+#
+# Copyright (c) 2007-2010 LAAS/CNRS
+# All rights reserved.
+#
+# Redistribution and use  in source  and binary  forms,  with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+#   1. Redistributions of  source  code must retain the  above copyright
+#      notice and this list of conditions.
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice and  this list of  conditions in the  documentation and/or
+#      other materials provided with the distribution.
+#
+#                                      	 Nizar Sallem on Tue Aug 24 2010
+#
+
+DISTNAME=			liblbfgs-1.9
+PKGNAME=			liblbfgs
+EXTRACT_SUFX= .tar.gz
+CATEGORIES=		math
+MASTER_SITES=	http://www.chokkan.org/software/dist/
+
+MAINTAINER=		openrobots@laas.fr
+HOMEPAGE=			http://www.chokkan.org/software/liblbfgs/
+COMMENT=			Limited-memory Broyden-Fletcher-Goldfarb-Shanno C port
+LICENSE=			mit
+
+USE_LANGUAGES+=		c c++
+
+GNU_CONFIGURE = yes
+
+include ../../pkgtools/libtool/depend.mk
+include ../../mk/robotpkg.mk
diff --git a/liblbfgs/PLIST b/liblbfgs/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..88d15fdd2134cf79bc95fb46fc68d895d6e2dd1a
--- /dev/null
+++ b/liblbfgs/PLIST
@@ -0,0 +1,9 @@
+@comment Fri Nov 5 11:36:07 CET 2010
+include/lbfgs.h
+lib/${PKGNAME}.la
+share/doc/${PKGNAME}/AUTHORS
+share/doc/${PKGNAME}/COPYING
+share/doc/${PKGNAME}/ChangeLog
+share/doc/${PKGNAME}/INSTALL
+share/doc/${PKGNAME}/NEWS
+share/doc/${PKGNAME}/README
diff --git a/liblbfgs/depend.mk b/liblbfgs/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..3a61cab645e130577edb1aeea34dbdfd3891e35a
--- /dev/null
+++ b/liblbfgs/depend.mk
@@ -0,0 +1,26 @@
+# robotpkg depend.mk for:	wip/liblbfgs
+# Created:			Anthony Mallet on Fri, 14 Mar 2008
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+LIBLBFGS_DEPEND_MK:=	${LIBLBFGS_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		liblbfgs
+endif
+
+ifeq (+,$(LIBLBFGS_DEPEND_MK)) # ---------------------------------------------
+
+PREFER.liblbfgs?=		robotpkg
+
+DEPEND_USE+=		liblbfgs
+DEPEND_ABI.liblbfgs?=	liblbfgs>=1.9
+DEPEND_DIR.liblbfgs?=	../../wip/liblbfgs
+
+SYSTEM_SEARCH.liblbfgs=\
+	include/lbfgs.h		\
+	lib/liblbfgs.la
+
+endif # LIBLBFGS_DEPEND_MK ---------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/liblbfgs/distinfo b/liblbfgs/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..b8886e6ac5815270f2cbe223b4bdd426e9689062
--- /dev/null
+++ b/liblbfgs/distinfo
@@ -0,0 +1,3 @@
+SHA1 (liblbfgs-1.9.tar.gz) = 9bd56c8b61a838badeb945399fbefbeb9b48b1db
+RMD160 (liblbfgs-1.9.tar.gz) = 3d712334815daf10a1383ae7522013711284e283
+Size (liblbfgs-1.9.tar.gz) = 318447 bytes