[anjuta/newproject] am: Implement read and write of flags properties



commit 2059db04eefc60f61e54fa226b27b146d8365b76
Author: Sébastien Granjoux <seb sfo free fr>
Date:   Mon Oct 18 22:55:36 2010 +0200

    am: Implement read and write of flags properties

 libanjuta/anjuta-token-file.c           |    6 +-
 libanjuta/anjuta-token.c                |   38 +++++--
 plugins/am-project/am-parser.y          |    2 +
 plugins/am-project/am-project-private.h |    1 +
 plugins/am-project/am-project.c         |   10 +-
 plugins/am-project/am-properties.c      |   91 ++++++++-------
 plugins/am-project/am-writer.c          |  195 ++++++++++++++++++++++++++++++-
 plugins/am-project/am-writer.h          |    2 +-
 plugins/am-project/projectparser.c      |   15 +++
 plugins/am-project/tests/anjuta.lst     |   49 ++++++++
 plugins/am-project/tests/properties.at  |   77 ++++++++++++-
 11 files changed, 419 insertions(+), 67 deletions(-)
---
diff --git a/libanjuta/anjuta-token-file.c b/libanjuta/anjuta-token-file.c
index daef87c..4433aa1 100644
--- a/libanjuta/anjuta-token-file.c
+++ b/libanjuta/anjuta-token-file.c
@@ -145,7 +145,7 @@ anjuta_token_file_save (AnjutaTokenFile *file, GError **error)
 	gboolean ok = TRUE;
 	GError *err = NULL;
 	AnjutaToken *token;
-	
+
 	stream = g_file_replace (file->file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &err);
 	if (stream == NULL)
 	{
@@ -232,11 +232,11 @@ anjuta_token_file_remove_token (AnjutaTokenFile *file, AnjutaToken *token)
 	if ((last != NULL) && (last != token))
 	{
 		next = anjuta_token_next (token);
-		while (next != last)
+		while ((next != last) && (next != NULL))
 		{
 			next = anjuta_token_file_remove_token (file, next);
 		}
-		anjuta_token_file_remove_token (file, next);
+		if (next != NULL) anjuta_token_file_remove_token (file, next);
 	}		
 
 	return anjuta_token_free (token);
diff --git a/libanjuta/anjuta-token.c b/libanjuta/anjuta-token.c
index 694182e..55a7962 100644
--- a/libanjuta/anjuta-token.c
+++ b/libanjuta/anjuta-token.c
@@ -582,16 +582,24 @@ anjuta_token_first_item (AnjutaToken *list)
 AnjutaToken *
 anjuta_token_next_item (AnjutaToken *item)
 {
-	AnjutaToken *last;
-	AnjutaToken *next = NULL;
+	AnjutaToken *next;
 
 	if (item != NULL)
 	{
-		if ((item->group == NULL) || (item->group->last != item))
+		do
 		{
-			for (last = item; last->last != NULL; last = last->last);
-			next = anjuta_token_next (last);
+			next = NULL;
+			if ((item->group == NULL) || (item->group->last != item))
+			{
+				AnjutaToken *last;
+				for (last = item; last->last != NULL; last = last->last);
+				next = anjuta_token_next (last);
+				if ((next != NULL) && (next->group != item->group)) next = NULL;
+			}
+			item = next;
 		}
+		/* Loop if the current item has been deleted */
+		while ((next != NULL) && (anjuta_token_get_flags (next) & ANJUTA_TOKEN_REMOVED));
 	}
 
 	return next;
@@ -600,13 +608,21 @@ anjuta_token_next_item (AnjutaToken *item)
 AnjutaToken *
 anjuta_token_previous_item (AnjutaToken *item)
 {
-	AnjutaToken *first;
-
-	if (item == NULL) return NULL;
+	AnjutaToken *prev = NULL;
 
-	for (first = item->prev; (first != NULL) && (first->group != item->group); first = first->group);
+	
+	if (item != NULL)
+	{
+		do
+		{
+			for (prev = item->prev; (prev != NULL) && (prev->group != item->group); prev = prev->group);
+			item = prev;
+		}
+		/* Loop if the current item has been deleted */
+		while ((prev != NULL) && (anjuta_token_get_flags (prev) & ANJUTA_TOKEN_REMOVED));
+	}
 
-	return first;
+	return prev;
 }
 
 /* Add/Insert/Remove tokens
@@ -1074,7 +1090,7 @@ anjuta_token_merge_previous (AnjutaToken *list, AnjutaToken *first)
 	 * if the list is already linked */
 	if ((list->prev != NULL) || (list->parent != NULL))
 	{
-		for (token = first; token != list; token = anjuta_token_next_item (token))
+		for (token = first; token != NULL; token = anjuta_token_next_item (token))
 		{
 			token->group = list;
 		}
diff --git a/plugins/am-project/am-parser.y b/plugins/am-project/am-parser.y
index 2d0bc0b..252e819 100644
--- a/plugins/am-project/am-parser.y
+++ b/plugins/am-project/am-parser.y
@@ -157,6 +157,8 @@ amp_am_automake_variable (AnjutaToken *token)
     case TARGET_LFLAGS:         return AM_TOKEN_TARGET_LFLAGS;
     case TARGET_YFLAGS:         return AM_TOKEN_TARGET_YFLAGS;
     case TARGET_DEPENDENCIES:   return AM_TOKEN_TARGET_DEPENDENCIES;
+    case TARGET_LIBADD:         return AM_TOKEN_TARGET_LIBADD;
+    case TARGET_LDADD:  		 return AM_TOKEN_TARGET_LDADD;
 
     default: return ANJUTA_TOKEN_NAME;
     }
diff --git a/plugins/am-project/am-project-private.h b/plugins/am-project/am-project-private.h
index 593d330..f5ccc4f 100644
--- a/plugins/am-project/am-project-private.h
+++ b/plugins/am-project/am-project-private.h
@@ -38,6 +38,7 @@ struct _AmpProperty {
 	gint position;
 	AmpPropertyFlag flags;
 	AnjutaToken *token;
+	const gchar *suffix;
 };
 
 struct _AmpProject {
diff --git a/plugins/am-project/am-project.c b/plugins/am-project/am-project.c
index 79a63bd..20b6c30 100644
--- a/plugins/am-project/am-project.c
+++ b/plugins/am-project/am-project.c
@@ -766,11 +766,13 @@ amp_project_load_properties (AmpProject *project, AnjutaToken *macro, AnjutaToke
 				amp_property_free (new_prop);
 			}
 			new_prop = amp_property_new (NULL, prop->token_type, prop->position, NULL, macro);
-			anjuta_project_node_insert_property (project->root, prop, new_prop);
-
 			arg = anjuta_token_nth_word (args, prop->position);
-			if ((new_prop->value != NULL) && (new_prop->value != prop->base.value)) g_free (new_prop->value);
+			if ((new_prop->value != NULL) && (new_prop->value != prop->base.value))
+			{
+				g_free (new_prop->value);
+			}
 			new_prop->value = anjuta_token_evaluate (arg);
+			anjuta_project_node_insert_property (project->root, prop, new_prop);
 		}
 	}
 	//g_message ("prop list %p get prop %p", *list, anjuta_project_node_get_property (project->root);
@@ -2251,7 +2253,7 @@ iproject_set_property (IAnjutaProject *obj, AnjutaProjectNode *node, AnjutaProje
 	}
 	else if (flags & AM_PROPERTY_IN_MAKEFILE)
 	{
-		amp_project_update_am_property (AMP_PROJECT (obj), new_prop);
+		amp_project_update_am_property (AMP_PROJECT (obj), node, new_prop);
 	}
 	
 	return new_prop;
diff --git a/plugins/am-project/am-properties.c b/plugins/am-project/am-properties.c
index 30a7022..378bfb6 100644
--- a/plugins/am-project/am-properties.c
+++ b/plugins/am-project/am-properties.c
@@ -42,62 +42,62 @@
   *---------------------------------------------------------------------------*/
 
 static AmpProperty AmpProjectProperties[] = {
-	{{N_("Name:"), 					ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	0, 	AM_PROPERTY_IN_CONFIGURE,	NULL},
-	{{N_("Version:"), 					ANJUTA_PROJECT_PROPERTY_STRING,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	1, 	AM_PROPERTY_IN_CONFIGURE,	NULL},
-	{{N_("Bug report URL:"), 		ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	2, 	AM_PROPERTY_IN_CONFIGURE,	NULL},
-	{{N_("Package name:"), 		ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	3, 	AM_PROPERTY_IN_CONFIGURE,	NULL},
-	{{N_("URL:"), 						ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	4,		AM_PROPERTY_IN_CONFIGURE, 	NULL},
-	{{NULL, 								ANJUTA_PROJECT_PROPERTY_STRING, 	0,															 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	5, 	0,												NULL}};
+	{{N_("Name:"), 					ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	0, 	AM_PROPERTY_IN_CONFIGURE,	NULL,	NULL},
+	{{N_("Version:"), 					ANJUTA_PROJECT_PROPERTY_STRING,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	1, 	AM_PROPERTY_IN_CONFIGURE,	NULL,	NULL},
+	{{N_("Bug report URL:"), 		ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	2, 	AM_PROPERTY_IN_CONFIGURE,	NULL,	NULL},
+	{{N_("Package name:"), 		ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	3, 	AM_PROPERTY_IN_CONFIGURE,	NULL,	NULL},
+	{{N_("URL:"), 						ANJUTA_PROJECT_PROPERTY_STRING, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	4,		AM_PROPERTY_IN_CONFIGURE, 	NULL,	NULL},
+	{{NULL, 								ANJUTA_PROJECT_PROPERTY_STRING, 	0,															 	NULL, 	NULL}, 	AC_TOKEN_AC_INIT, 	5, 	0,												NULL,	NULL}};
 
 static GList* AmpProjectPropertyList = NULL;
 
 
 static AmpProperty AmpGroupProperties[] = {
-	{{N_("Linker flags:"), 						ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__LDFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("C preprocessor flags:"),			ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__CPPFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("C compiler flags:"), 				ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__CFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("C++ compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__CXXFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Java compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__JAVACFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Vala compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__VALAFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Fortan compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__FCFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Objective C compiler flags:"),	ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__OBJCFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Lex/Flex flags:"), 					ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__LFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Yacc/Bison flags:"), 					ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL},	AM_TOKEN__YFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Install directories:"), 				ANJUTA_PROJECT_PROPERTY_MAP,  	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL, 	NULL}, 	AM_TOKEN_DIR, 					0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{NULL, 											ANJUTA_PROJECT_PROPERTY_STRING, 0,															NULL, 	NULL}, 	0, 										0, 	0,											NULL}};
+	{{N_("Linker flags:"), 						ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__LDFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE,	NULL, 	"AM_LDFLAGS"},
+	{{N_("C preprocessor flags:"),			ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__CPPFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"AM_CPPFLAGS"},
+	{{N_("C compiler flags:"), 				ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__CFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_CFLAGS"},
+	{{N_("C++ compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__CXXFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_CXXFLAGS"},
+	{{N_("Java compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__JAVACFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_JAVAFLAGS"},
+	{{N_("Vala compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__VALAFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_VALAFLAGS"},
+	{{N_("Fortan compiler flags:"), 			ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL}, 	AM_TOKEN__FCFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_FCFLAGS"},
+	{{N_("Objective C compiler flags:"),	ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__OBJCFLAGS, 		0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_OBJCFLAGS"},
+	{{N_("Lex/Flex flags:"), 					ANJUTA_PROJECT_PROPERTY_LIST, 	ANJUTA_PROJECT_PROPERTY_READ_WRITE, 	NULL, 	NULL}, 	AM_TOKEN__LFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_LFLAGS"},
+	{{N_("Yacc/Bison flags:"), 					ANJUTA_PROJECT_PROPERTY_LIST,  	ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL, 	NULL},	AM_TOKEN__YFLAGS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	"AM_YFLAGS"},
+	{{N_("Install directories:"), 				ANJUTA_PROJECT_PROPERTY_MAP,  	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL, 	NULL}, 	AM_TOKEN_DIR, 					0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	NULL},
+	{{NULL, 											ANJUTA_PROJECT_PROPERTY_STRING, 0,															NULL, 	NULL}, 	0, 										0, 	0,											NULL,	NULL}};
 
 static GList* AmpGroupPropertyList = NULL;
 
 
 static AmpProperty AmpTargetProperties[] = {
-	{{N_("Do not install:"), 						ANJUTA_PROJECT_PROPERTY_BOOLEAN,  	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			3, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Installation directory:"),			ANJUTA_PROJECT_PROPERTY_STRING,		ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			6, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Linker flags:"),							ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LDFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Additional libraries:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LIBADD,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Additional objects:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LDADD,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("C preprocessor flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CPPFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("C compiler flags:"),					ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("C++ compiler flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CXXFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Java compiler flags:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_JAVACFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Vala compiler flags:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_VALAFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Fortan compiler flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_FCFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Objective C compiler flags:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_OBJCFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Lex/Flex flags:"),						ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Yacc/Bison flags:"),					ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_YFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL},
-	{{N_("Additional dependencies:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_DEPENDENCIES, 0, 	AM_PROPERTY_IN_MAKEFILE, NULL},
-	{{N_("Include in distribution:"),			ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			2, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Build for check only:"),			ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			4, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Do not use prefix:"),				ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			1, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{N_("Keep target path:"),					ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL},
-	{{NULL,											ANJUTA_PROJECT_PROPERTY_STRING, 		0,																NULL,	NULL}, 	0, 											0,		0,											NULL}};
+	{{N_("Do not install:"), 						ANJUTA_PROJECT_PROPERTY_BOOLEAN,  	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			3, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	NULL},
+	{{N_("Installation directory:"),			ANJUTA_PROJECT_PROPERTY_STRING,		ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			6, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	NULL},
+	{{N_("Linker flags:"),							ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LDFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_LDFLAGS"},
+	{{N_("Additional libraries:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LIBADD,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_LIBADD"},
+	{{N_("Additional objects:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LDADD,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_LDADD"},
+	{{N_("C preprocessor flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CPPFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_CPPFLAGS"},
+	{{N_("C compiler flags:"),					ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_CFLAGS"},
+	{{N_("C++ compiler flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_CXXFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_CXXFLAGS"},
+	{{N_("Java compiler flags:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_JAVACFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_JAVACFLAGS"},
+	{{N_("Vala compiler flags:"),				ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_VALAFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_VALAFLAGS"},
+	{{N_("Fortan compiler flags:"),			ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_FCFLAGS,	0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_FCFLAGS"},
+	{{N_("Objective C compiler flags:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_OBJCFLAGS,0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_OBJCFLAGS"},
+	{{N_("Lex/Flex flags:"),						ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_LFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_LFLAGS"},
+	{{N_("Yacc/Bison flags:"),					ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_YFLAGS,		0, 	AM_PROPERTY_IN_MAKEFILE,	NULL,	"_YFLAGS"},
+	{{N_("Additional dependencies:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_WRITE,	NULL,	NULL},	AM_TOKEN_TARGET_DEPENDENCIES, 0, 	AM_PROPERTY_IN_MAKEFILE, NULL,	"EXTRA_DIST"},
+	{{N_("Include in distribution:"),			ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			2, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	NULL},
+	{{N_("Build for check only:"),			ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,			4, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	NULL},
+	{{N_("Do not use prefix:"),				ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			1, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	NULL},
+	{{N_("Keep target path:"),					ANJUTA_PROJECT_PROPERTY_BOOLEAN,	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS, 			0, 	AM_PROPERTY_IN_MAKEFILE, 	NULL,	NULL},
+	{{NULL,											ANJUTA_PROJECT_PROPERTY_STRING, 		0,																NULL,	NULL}, 	0, 											0,		0,											NULL,	NULL}};
 
 static GList* AmpTargetPropertyList = NULL;
 
 static AmpProperty AmpManTargetProperties[] = {
-	{{N_("Additional dependencies:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	0, 									0, 	AM_PROPERTY_IN_MAKEFILE, NULL},
-	{{N_("Do not use prefix:"), 				ANJUTA_PROJECT_PROPERTY_BOOLEAN, 	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,	1, 	AM_PROPERTY_IN_MAKEFILE, NULL},
-	{{N_("Manual section:"), 					ANJUTA_PROJECT_PROPERTY_STRING, 		ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,	5, 	AM_PROPERTY_IN_MAKEFILE, NULL},
-	{{NULL, 											ANJUTA_PROJECT_PROPERTY_STRING, 		0,																NULL,	NULL},	0,										0, 	0,										 NULL}};
+	{{N_("Additional dependencies:"),	ANJUTA_PROJECT_PROPERTY_LIST, 			ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	0, 									0, 	AM_PROPERTY_IN_MAKEFILE, NULL,	NULL},
+	{{N_("Do not use prefix:"), 				ANJUTA_PROJECT_PROPERTY_BOOLEAN, 	ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,	1, 	AM_PROPERTY_IN_MAKEFILE, NULL,	NULL},
+	{{N_("Manual section:"), 					ANJUTA_PROJECT_PROPERTY_STRING, 		ANJUTA_PROJECT_PROPERTY_READ_ONLY,		NULL,	NULL},	AM_TOKEN__PROGRAMS,	5, 	AM_PROPERTY_IN_MAKEFILE, NULL,	NULL},
+	{{NULL, 											ANJUTA_PROJECT_PROPERTY_STRING, 		0,																NULL,	NULL},	0,										0, 	0,										 NULL,	NULL}};
 
 static GList* AmpManTargetPropertyList = NULL;
 
@@ -239,13 +239,16 @@ amp_node_property_add (AnjutaProjectNode *node, AnjutaProjectProperty *new_prop)
 						g_string_append (list, value);
 					}
 				}
-				g_free (new_prop->value);
+				if (new_prop->value != prop->base.value) g_free (new_prop->value);
 				new_prop->value = g_string_free (list, FALSE);
 				break;
 			case ANJUTA_PROJECT_PROPERTY_MAP:
 			case ANJUTA_PROJECT_PROPERTY_STRING:
 				/* Strip leading and trailing space */
-				new_prop->value = g_strstrip (new_prop->value);
+				if (new_prop->value != prop->base.value)
+				{
+					new_prop->value = g_strstrip (new_prop->value);
+				}
 				break;
 			default:
 				break;
diff --git a/plugins/am-project/am-writer.c b/plugins/am-project/am-writer.c
index c1ee823..8f6141b 100644
--- a/plugins/am-project/am-writer.c
+++ b/plugins/am-project/am-writer.c
@@ -820,7 +820,198 @@ amp_source_delete_token (AmpProject  *project, AnjutaAmSourceNode *source, GErro
 /* Properties
  *---------------------------------------------------------------------------*/
 
-gboolean amp_project_update_am_property (AmpProject *project, AnjutaProjectProperty *property)
+static AnjutaToken*
+amp_property_delete_token (AmpProject  *project, AnjutaToken *token)
 {
-	return TRUE;
+	AnjutaToken *list = NULL;
+	gboolean updated = FALSE;
+
+	if (token != NULL)
+	{
+		anjuta_token_set_flags (token, ANJUTA_TOKEN_REMOVED);
+		updated = TRUE;
+	}
+
+	return token;
+}
+
+static AnjutaToken *
+amp_project_write_property_list (AnjutaAmGroupNode *group, AnjutaProjectNode *node, const gchar *name)
+{
+	AnjutaToken *pos;
+	AnjutaToken *makefile;
+	AnjutaToken *token;
+	
+	makefile = amp_group_get_makefile_token (group);
+	pos = anjuta_token_first_item (makefile);
+		
+	/* Add at the end of the file */
+	while (anjuta_token_next_item (pos) != NULL)
+	{
+		pos = anjuta_token_next_item (pos);
+	}
+
+	pos = anjuta_token_insert_token_list (TRUE, pos,
+		    ANJUTA_TOKEN_EOL, "\n",
+		    NULL);
+	amp_group_update_makefile (group, pos);
+	
+	token = anjuta_token_insert_token_list (TRUE, pos,
+	    		ANJUTA_TOKEN_LIST, NULL,
+	    		ANJUTA_TOKEN_NAME, name,
+	    		ANJUTA_TOKEN_SPACE, " ",
+	    		ANJUTA_TOKEN_OPERATOR, "=",
+	    		ANJUTA_TOKEN_LIST, NULL,
+	            ANJUTA_TOKEN_SPACE, " ",
+	    		NULL);
+
+	return anjuta_token_last_item (token);
+}
+
+gboolean amp_project_update_am_property (AmpProject *project, AnjutaProjectNode *node, AnjutaProjectProperty *property)
+{
+	AnjutaAmGroupNode *group;
+	AnjutaToken *args;
+
+
+	/* Find group  of the property */
+	if (anjuta_project_node_get_node_type (node) == ANJUTA_PROJECT_GROUP)
+	{
+		group = ANJUTA_AM_GROUP_NODE (node);
+	}
+	else
+	{
+		group = ANJUTA_AM_GROUP_NODE (anjuta_project_node_parent (node));
+	}
+
+	if ((property->value == NULL) || (*property->value == '\0'))
+	{
+		/* Remove property */
+		args = amp_property_delete_token (project, ((AmpProperty *)property)->token);
+	}
+	else
+	{
+		GString *new_value;
+		AnjutaToken *arg;
+		const gchar *value;
+		AnjutaTokenStyle *style;
+
+		args = ((AmpProperty *)property)->token;
+		
+		/* Try to use the same style than the current target list */
+		style = anjuta_token_style_new_from_base (project->am_space_list);
+		anjuta_token_style_update (style, args);
+
+		if (args== NULL)
+		{
+			gchar *prop_name;
+			gchar *canon_name = NULL;
+
+			if (group == node)
+			{
+				/* Group property */
+				prop_name = g_strdup (((AmpProperty *)property->native)->suffix);
+			}
+			else
+			{
+				/* Target property */
+				canon_name = canonicalize_automake_variable (ANJUTA_AM_TARGET_NODE (node)->base.name);
+				prop_name = g_strconcat (canon_name, ((AmpProperty *)property->native)->suffix, NULL);
+			}
+			args = amp_project_write_property_list (group, node, prop_name);
+			((AmpProperty *)property)->token = args;
+			g_free (canon_name);
+			g_free (prop_name);
+		}
+		
+		switch (property->native->type)
+		{
+		case ANJUTA_PROJECT_PROPERTY_LIST:
+			new_value = g_string_new (property->value);
+			g_string_assign (new_value, "");
+			value = property->value;
+
+			for (arg = anjuta_token_first_word (args); arg != NULL;)
+			{
+				gchar *arg_value = anjuta_token_evaluate (arg);
+
+				while (isspace (*value)) value++;
+
+				if (*value == '\0')
+				{
+					AnjutaToken *next;
+					
+					next = anjuta_token_next_word (arg);
+					anjuta_token_remove_word (arg);
+					arg = next;
+				}
+				else
+				{
+					const gchar *end;
+					gchar *name;
+					
+					for (end = value; !isspace (*end) && (*end != '\0'); end++);
+					name = g_strndup (value, end - value);
+
+					if (strcmp (arg_value, name) != 0)
+					{
+						/* New argument in property list */
+						AnjutaToken *token;
+						
+						token = anjuta_token_new_string (ANJUTA_TOKEN_NAME | ANJUTA_TOKEN_ADDED, name);
+						anjuta_token_insert_word_before (args, arg, token);
+					}
+					else
+					{
+						arg = anjuta_token_next_word (arg);
+					}
+					value = end;
+					
+					if (arg_value != NULL)
+					{
+						if (new_value->len != 0) g_string_append_c (new_value, ' ');
+						g_string_append (new_value, name);
+					}
+				}
+				g_free (arg_value);
+			}
+
+			while (*value != '\0')
+			{
+				AnjutaToken *token;
+				const gchar *end;
+				gchar *name;
+				
+				while (isspace (*value)) value++;
+				if (*value == '\0') break;
+
+				for (end = value; !isspace (*end) && (*end != '\0'); end++);
+
+				name = g_strndup (value, end - value);
+				token = anjuta_token_new_string (ANJUTA_TOKEN_NAME | ANJUTA_TOKEN_ADDED, name);
+
+				anjuta_token_insert_word_before (args, NULL, token);
+				
+				if (new_value->len != 0) g_string_append_c (new_value, ' ');
+				g_string_append (new_value, name);
+				
+				g_free (name);
+				value = end;
+			}
+
+			anjuta_token_style_format (style, args);
+			anjuta_token_style_free (style);
+
+			if (property->value != property->native->value) g_free (property->value);
+			property->value = g_string_free (new_value, FALSE);
+			
+			break;
+		default:
+			break;
+		}
+	}
+
+	if (args != NULL) amp_group_update_makefile (group, args);
+	
+	return args != NULL ? TRUE : FALSE;
 }
diff --git a/plugins/am-project/am-writer.h b/plugins/am-project/am-writer.h
index 5bdbf9d..55f2201 100644
--- a/plugins/am-project/am-writer.h
+++ b/plugins/am-project/am-writer.h
@@ -29,7 +29,7 @@
 
 G_BEGIN_DECLS
 
-gboolean amp_project_update_am_property (AmpProject *project, AnjutaProjectProperty *property); 
+gboolean amp_project_update_am_property (AmpProject *project, AnjutaProjectNode *node, AnjutaProjectProperty *property); 
 
 gboolean amp_group_create_token (AmpProject *project, AnjutaAmGroupNode *group, GError **error);
 gboolean amp_group_delete_token (AmpProject  *project, AnjutaAmGroupNode *target, GError **error);
diff --git a/plugins/am-project/projectparser.c b/plugins/am-project/projectparser.c
index b7bcf64..648af9d 100644
--- a/plugins/am-project/projectparser.c
+++ b/plugins/am-project/projectparser.c
@@ -583,6 +583,21 @@ main(int argc, char *argv[])
 			}
 			command += 3;
 		}
+		else if (g_ascii_strcasecmp (command[0], "clear") == 0)
+		{
+			if (AMP_IS_PROJECT (project))
+			{
+				AnjutaProjectProperty *item;
+
+				node = get_node (project, root, command[1]);
+				item = get_project_property (project, node, command[2]);
+				if (item != NULL)
+				{
+					ianjuta_project_set_property (project, node, item, NULL, NULL);
+				}
+			}
+			command += 2;
+		}
 		else
 		{
 			fprintf (stderr, "Error: unknown command %s\n", *command);
diff --git a/plugins/am-project/tests/anjuta.lst b/plugins/am-project/tests/anjuta.lst
index b5d7f09..d1a2047 100644
--- a/plugins/am-project/tests/anjuta.lst
+++ b/plugins/am-project/tests/anjuta.lst
@@ -107,6 +107,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
         GROUP (11:4): libfoocanvas
             PROPERTY (C preprocessor flags): -I$(top_srcdir) -I$(top_builddir) $(WARN_CFLAGS) $(ANJUTA_CFLAGS) -DFOOCANVASLIBDIR=\""$(libdir)"\" -DFOOCANVASDATADIR=\""$(datadir)"\" -DFOOCANVASPIXMAPDIR=\""$(datadir)/pixmaps"\" -DFOOCANVASBINDIR=\""$(bindir)"\" -DFOOCANVASLOCALSTATEDIR=\""$(localstatedir)"\" -DFOOCANVASLOCALEDIR=\""$(gnomelocaledir)"\" -DG_LOG_DOMAIN=\"Foocanvas\" -DVERSION=\"$(VERSION)\"
             TARGET (11:4:0): libanjuta-foocanvas.la
+                PROPERTY (Additional libraries): $(ANJUTA_LIBS) $(RENDER_LIBS)
                 SOURCE (11:4:0:0): libfoocanvas/foo-canvas-line.h
                 SOURCE (11:4:0:1): libfoocanvas/foo-canvas-pixbuf.h
                 SOURCE (11:4:0:2): libfoocanvas/foo-canvas-polygon.h
@@ -259,6 +260,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 TARGET (11:5:0:63): libanjuta.idl
             TARGET (11:5:1): libanjuta.la
                 PROPERTY (Linker flags): $(ANJUTA_LDFLAGS)
+                PROPERTY (Additional libraries): interfaces/libanjuta-interfaces.la $(ANJUTA_LIBS)
                 SOURCE (11:5:1:0): libanjuta/anjuta-enum-types.h
                 SOURCE (11:5:1:1): libanjuta/anjuta-enum-types.c
                 SOURCE (11:5:1:2): libanjuta/anjuta-marshal.h
@@ -343,6 +345,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 SOURCE (11:5:1:81): libanjuta/anjuta-pkg-config-chooser.c
             TARGET (11:5:2): libgladeanjuta.la
                 PROPERTY (Linker flags): $(ANJUTA_LDFLAGS) -module -avoid-version
+                PROPERTY (Additional libraries): libanjuta.la $(GLADE_LIBS)
                 SOURCE (11:5:2:0): libanjuta/anjuta-glade-catalog.c
             TARGET (11:5:3): catalog
                 SOURCE (11:5:3:0): libanjuta/anjuta-glade.xml
@@ -408,6 +411,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:0:3:0): plugins/gtodo/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:0:4): libanjuta-gtodo.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GTK_LIBS) $(GIO_LIBS) $(LIBXSLT_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:0:4:0): plugins/gtodo/plugin.c
                     SOURCE (11:6:0:4:1): plugins/gtodo/plugin.h
                     SOURCE (11:6:0:4:2): plugins/gtodo/add_edit_item.c
@@ -445,6 +449,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:1:3:0): plugins/message-view/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:1:4): libanjuta-message-view.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:1:4:0): plugins/message-view/plugin.c
                     SOURCE (11:6:1:4:1): plugins/message-view/plugin.h
                     SOURCE (11:6:1:4:2): plugins/message-view/anjuta-msgman.c
@@ -472,6 +477,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:2:4:0): plugins/gdb/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:2:5): libanjuta-gdb.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GTK_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:2:5:0): plugins/gdb/gdbmi.c
                     SOURCE (11:6:2:5:1): plugins/gdb/gdbmi.h
                     SOURCE (11:6:2:5:2): plugins/gdb/debugger.c
@@ -483,6 +489,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:2:5:8): plugins/gdb/preferences.c
                     SOURCE (11:6:2:5:9): plugins/gdb/preferences.h
                 TARGET (11:6:2:6): gdbmi-test
+                    PROPERTY (Additional objects): $(GTK_LIBS) $(LIBANJUTA_LIBS) $(LIBXML_LIBS)
                     PROPERTY (C compiler flags): $(AM_CFLAGS)
                     SOURCE (11:6:2:6:0): plugins/gdb/gdbmi-test.c
                     SOURCE (11:6:2:6:1): plugins/gdb/gdbmi.c
@@ -528,6 +535,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:3:3:0): plugins/debug-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:3:4): libanjuta-debug-manager.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:3:4:0): plugins/debug-manager/$(BUILT_SOURCES)
                     SOURCE (11:6:3:4:1): plugins/debug-manager/plugin.c
                     SOURCE (11:6:3:4:2): plugins/debug-manager/plugin.h
@@ -597,6 +605,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:4:3:0): plugins/file-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:4:4): libfile-manager.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS) $(GDL_LIBS) $(GIO_LIBS)
                     SOURCE (11:6:4:4:0): plugins/file-manager/plugin.c
                     SOURCE (11:6:4:4:1): plugins/file-manager/plugin.h
                     SOURCE (11:6:4:4:2): plugins/file-manager/file-view-marshal.h
@@ -619,6 +628,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:5:3:0): plugins/terminal/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:5:4): libanjuta-terminal.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GCONF_LIBS) $(VTE_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:5:4:0): plugins/terminal/terminal.c
             GROUP (11:6:6): build-basic-autotools
                 PROPERTY (Install directories): build_gladedir = $(anjuta_glade_dir) build_uidir = $(anjuta_ui_dir) build_pixmapsdir = $(anjuta_image_dir) build_plugindir = $(anjuta_plugin_dir) build_datadir = $(anjuta_data_dir)/build plugindir = $(anjuta_plugin_dir)
@@ -637,6 +647,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 TARGET (11:6:6:4): build_data
                     SOURCE (11:6:6:4:0): plugins/build-basic-autotools/automake-c.filters
                 TARGET (11:6:6:5): libanjuta-build-basic-autotools.la
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
                     SOURCE (11:6:6:5:0): plugins/build-basic-autotools/plugin.c
                     SOURCE (11:6:6:5:1): plugins/build-basic-autotools/plugin.h
@@ -660,6 +671,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:7:2:0): plugins/file-loader/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:7:3): libanjuta-loader.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GTK_LIBS) $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:7:3:0): plugins/file-loader/plugin.c
                     SOURCE (11:6:7:3:1): plugins/file-loader/plugin.h
                     SOURCE (11:6:7:3:2): plugins/file-loader/dnd.c
@@ -678,6 +690,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:8:2:0): plugins/file-wizard/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:8:3): libanjuta-file-wizard.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:8:3:0): plugins/file-wizard/file.c
                     SOURCE (11:6:8:3:1): plugins/file-wizard/file.h
                     SOURCE (11:6:8:3:2): plugins/file-wizard/plugin.c
@@ -969,6 +982,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:9:4:0): plugins/project-wizard/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:9:5): libanjuta-project-wizard.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:9:5:0): plugins/project-wizard/plugin.c
                     SOURCE (11:6:9:5:1): plugins/project-wizard/plugin.h
                     SOURCE (11:6:9:5:2): plugins/project-wizard/druid.c
@@ -1008,6 +1022,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:10:3:0): plugins/project-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:10:4): libanjuta-project-manager.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:10:4:0): plugins/project-manager/plugin.c
                     SOURCE (11:6:10:4:1): plugins/project-manager/plugin.h
                     SOURCE (11:6:10:4:2): plugins/project-manager/tree-data.h
@@ -1039,6 +1054,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:11:3:0): plugins/cvs-plugin/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:11:4): libanjuta-cvs-plugin.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:11:4:0): plugins/cvs-plugin/plugin.c
                     SOURCE (11:6:11:4:1): plugins/cvs-plugin/plugin.h
                     SOURCE (11:6:11:4:2): plugins/cvs-plugin/cvs-actions.c
@@ -1067,6 +1083,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:12:4:0): plugins/snippets-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:12:5): libanjuta-snippets-manager.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:12:5:0): plugins/snippets-manager/snippet.c
                     SOURCE (11:6:12:5:1): plugins/snippets-manager/snippet.h
                     SOURCE (11:6:12:5:2): plugins/snippets-manager/snippets-group.c
@@ -1108,6 +1125,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:13:3:0): plugins/class-gen/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:13:4): libanjuta-class-gen.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:13:4:0): plugins/class-gen/cell-renderer-flags.h
                     SOURCE (11:6:13:4:1): plugins/class-gen/cell-renderer-flags.c
                     SOURCE (11:6:13:4:2): plugins/class-gen/combo-flags.h
@@ -1138,6 +1156,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:14:1:0): plugins/class-inheritance/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:14:2): libanjuta-class-inheritance.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBFOOCANVAS_LIBS) $(LIBANJUTA_LIBS) $(GRAPHVIZ_LIBS)
                     SOURCE (11:6:14:2:0): plugins/class-inheritance/plugin.c
                     SOURCE (11:6:14:2:1): plugins/class-inheritance/plugin.h
                     SOURCE (11:6:14:2:2): plugins/class-inheritance/class-inherit.c
@@ -1158,6 +1177,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:15:3:0): plugins/patch/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:15:4): libanjuta-patch.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:15:4:0): plugins/patch/plugin.c
                     SOURCE (11:6:15:4:1): plugins/patch/plugin.h
                     SOURCE (11:6:15:4:2): plugins/patch/patch-plugin.c
@@ -1176,6 +1196,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:16:3:0): plugins/subversion/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:16:4): libanjuta-subversion.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS) $(SVN_LIB)
                     SOURCE (11:6:16:4:0): plugins/subversion/plugin.c
                     SOURCE (11:6:16:4:1): plugins/subversion/plugin.h
                     SOURCE (11:6:16:4:2): plugins/subversion/svn-diff-command.h
@@ -1250,6 +1271,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:17:2:0): plugins/project-import/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:17:3): libanjuta-project-import.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(PLUGIN_GNOMEBUILD_LIBS) $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:17:3:0): plugins/project-import/plugin.c
                     SOURCE (11:6:17:3:1): plugins/project-import/plugin.h
                     SOURCE (11:6:17:3:2): plugins/project-import/project-import-dialog.h
@@ -1275,6 +1297,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:18:3:0): plugins/tools/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:18:4): libanjuta-tools.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:18:4:0): plugins/tools/plugin.c
                     SOURCE (11:6:18:4:1): plugins/tools/plugin.h
                     SOURCE (11:6:18:4:2): plugins/tools/dialog.c
@@ -1346,6 +1369,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:19:3:0): plugins/document-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:19:4): libanjuta-document-manager.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GDL_LIBS) $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:19:4:0): plugins/document-manager/plugin.c
                     SOURCE (11:6:19:4:1): plugins/document-manager/plugin.h
                     SOURCE (11:6:19:4:2): plugins/document-manager/anjuta-docman.c
@@ -1370,6 +1394,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:20:2:0): plugins/search/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:20:3): libanjuta-search.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:20:3:0): plugins/search/plugin.c
                     SOURCE (11:6:20:3:1): plugins/search/plugin.h
                     SOURCE (11:6:20:3:2): plugins/search/search-replace.c
@@ -1386,6 +1411,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 GROUP (11:6:21:0): cxxparser
                     PROPERTY (C preprocessor flags): -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" -DPACKAGE_SRC_DIR=\""$(srcdir)"\" $(DEPRECATED_FLAGS) $(LIBANJUTA_CFLAGS) $(EXTRA_CFLAGS) -DG_LOG_DOMAIN=\"cxxparser\"
                     TARGET (11:6:21:0:0): libcxxparser.la
+                        PROPERTY (Additional libraries): $(LIBANJUTA_LIBS) $(GTHREAD_LIBS)
                         PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
                         SOURCE (11:6:21:0:0:0): plugins/language-support-cpp-java/cxxparser/expression-lexer.cpp
                         SOURCE (11:6:21:0:0:1): plugins/language-support-cpp-java/cxxparser/expression-parser.cpp
@@ -1424,6 +1450,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:21:4:0): plugins/language-support-cpp-java/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:21:5): libanjuta-language-cpp-java.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS) cxxparser/libcxxparser.la
                     SOURCE (11:6:21:5:0): plugins/language-support-cpp-java/plugin.c
                     SOURCE (11:6:21:5:1): plugins/language-support-cpp-java/plugin.h
                     SOURCE (11:6:21:5:2): plugins/language-support-cpp-java/cpp-java-assist.h
@@ -1442,6 +1469,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:22:2:0): plugins/glade/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:22:3): libanjuta-glade.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(PLUGIN_GLADE_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:22:3:0): plugins/glade/plugin.c
                     SOURCE (11:6:22:3:1): plugins/glade/plugin.h
                     SOURCE (11:6:22:3:2): plugins/glade/anjuta-design-document.h
@@ -1459,6 +1487,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:23:2:0): plugins/devhelp/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:23:3): libanjuta-devhelp.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GTK_LIBS) $(LIBANJUTA_LIBS) $(PLUGIN_DEVHELP_LIBS)
                     SOURCE (11:6:23:3:0): plugins/devhelp/plugin.c
                     SOURCE (11:6:23:3:1): plugins/devhelp/plugin.h
             GROUP (11:6:24): language-manager
@@ -1472,6 +1501,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 TARGET (11:6:24:2): language_manager_plugin
                     SOURCE (11:6:24:2:0): plugins/language-manager/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:24:3): liblanguage-manager.la
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
                     SOURCE (11:6:24:3:0): plugins/language-manager/plugin.c
                     SOURCE (11:6:24:3:1): plugins/language-manager/plugin.h
@@ -1482,6 +1512,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     PROPERTY (C compiler flags): -I$(top_srcdir)/plugins/symbol-db/anjuta-tags/js-parser $(WARN_CFLAGS) $(ANJUTA_CFLAGS) $(VALA_CFLAGS) $(LIBXML_CFLAGS)
                     PROPERTY (C preprocessor flags): -DENABLE_VALA
                     TARGET (11:6:25:0:0): anjuta-tags
+                        PROPERTY (Additional objects): $(ANJUTA_LIBS) $(VALA_LIBS) $(LIBXML_LIBS)
                         SOURCE (11:6:25:0:0:0): plugins/symbol-db/anjuta-tags/main.c
                         SOURCE (11:6:25:0:0:1): plugins/symbol-db/anjuta-tags/acconfig.h
                         SOURCE (11:6:25:0:0:2): plugins/symbol-db/anjuta-tags/ant.c
@@ -1606,11 +1637,13 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                         PROPERTY (C preprocessor flags): $(LIBANJUTA_CFLAGS) $(PLUGIN_SYMBOL_DB_CFLAGS) -DDEBUG
                         TARGET (11:6:25:2:0:0): benchmark
                             PROPERTY (Linker flags): $(LIBANJUTA_LIBS) $(ANJUTA_LIBS) $(PLUGIN_SYMBOL_DB_LIBS)
+                            PROPERTY (Additional objects): ../../libanjuta-symbol-db.la
                             SOURCE (11:6:25:2:0:0:0): plugins/symbol-db/benchmark/symbol-db/benchmark.c
                     GROUP (11:6:25:2:1): libgda
                         PROPERTY (C preprocessor flags): $(LIBANJUTA_CFLAGS) $(PLUGIN_SYMBOL_DB_CFLAGS) -DDEBUG
                         TARGET (11:6:25:2:1:0): benchmark-libgda
                             PROPERTY (Linker flags): $(LIBANJUTA_LIBS) $(ANJUTA_LIBS) $(PLUGIN_SYMBOL_DB_LIBS)
+                            PROPERTY (Additional objects): ../../libanjuta-symbol-db.la
                             SOURCE (11:6:25:2:1:0:0): plugins/symbol-db/benchmark/libgda/libgda.c
                     GROUP (11:6:25:2:2): sqlite
                         PROPERTY (C preprocessor flags): $(LIBANJUTA_CFLAGS) $(PLUGIN_SYMBOL_DB_CFLAGS) -DDEBUG
@@ -1631,6 +1664,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:25:7:0): plugins/symbol-db/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:25:8): libanjuta-symbol-db.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GDL_LIBS) $(LIBANJUTA_LIBS) $(PLUGIN_SYMBOL_DB_LIBS)
                     SOURCE (11:6:25:8:0): plugins/symbol-db/plugin.c
                     SOURCE (11:6:25:8:1): plugins/symbol-db/plugin.h
                     SOURCE (11:6:25:8:2): plugins/symbol-db/readtags.c
@@ -1673,6 +1707,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:26:3:0): plugins/git/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:26:4): libanjuta-git.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GTK_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:26:4:0): plugins/git/plugin.c
                     SOURCE (11:6:26:4:1): plugins/git/plugin.h
                     SOURCE (11:6:26:4:2): plugins/git/git-command.c
@@ -1871,6 +1906,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:27:2:0): plugins/sourceview/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:27:3): libanjuta-sourceview.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(PLUGIN_SOURCEVIEW_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:27:3:0): plugins/sourceview/$(BUILT_SOURCES)
                     SOURCE (11:6:27:3:1): plugins/sourceview/plugin.c
                     SOURCE (11:6:27:3:2): plugins/sourceview/plugin.h
@@ -1904,6 +1940,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:28:3:0): plugins/run-program/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:28:4): libanjuta-run-program.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:28:4:0): plugins/run-program/plugin.c
                     SOURCE (11:6:28:4:1): plugins/run-program/plugin.h
                     SOURCE (11:6:28:4:2): plugins/run-program/parameters.c
@@ -1921,6 +1958,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:29:1:0): plugins/starter/starter_logo.png
                 TARGET (11:6:29:2): libanjuta-starter.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GDL_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:29:2:0): plugins/starter/plugin.c
                     SOURCE (11:6:29:2:1): plugins/starter/plugin.h
                     SOURCE (11:6:29:2:2): plugins/starter/starter.h
@@ -1937,6 +1975,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:30:3:0): plugins/am-project/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:30:4): libam-project.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:30:4:0): plugins/am-project/plugin.c
                     SOURCE (11:6:30:4:1): plugins/am-project/plugin.h
                     SOURCE (11:6:30:4:2): plugins/am-project/am-project.c
@@ -1957,6 +1996,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:30:4:17): plugins/am-project/am-node.c
                     SOURCE (11:6:30:4:18): plugins/am-project/am-node.h
                 TARGET (11:6:30:5): projectparser
+                    PROPERTY (Additional objects): libam-project.la $(LIBANJUTA_LIBS)
                     SOURCE (11:6:30:5:0): plugins/am-project/projectparser.c
             GROUP (11:6:31): dir-project
                 PROPERTY (Install directories): plugin_uidir = $(anjuta_ui_dir) plugin_gladedir = $(anjuta_glade_dir) plugin_datadir = $(anjuta_data_dir) plugin_pixmapsdir = $(anjuta_image_dir) plugindir = $(anjuta_plugin_dir)
@@ -1971,6 +2011,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:31:4:0): plugins/dir-project/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:31:5): libdir-project.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(GIO_LIBS) $(LIBANJUTA_LIBS)
                     SOURCE (11:6:31:5:0): plugins/dir-project/plugin.c
                     SOURCE (11:6:31:5:1): plugins/dir-project/plugin.h
                     SOURCE (11:6:31:5:2): plugins/dir-project/dir-project.c
@@ -1986,6 +2027,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:32:1:0): plugins/js-debugger/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:32:2): libjs_debugger.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:32:2:0): plugins/js-debugger/debugger-js.c
                     SOURCE (11:6:32:2:1): plugins/js-debugger/debugger-js.h
                     SOURCE (11:6:32:2:2): plugins/js-debugger/debugger-server.c
@@ -2005,6 +2047,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:33:3:0): plugins/language-support-js/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:33:4): libjs-support-plugin.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:33:4:0): plugins/language-support-js/plugin.c
                     SOURCE (11:6:33:4:1): plugins/language-support-js/plugin.h
                     SOURCE (11:6:33:4:2): plugins/language-support-js/code-completion.c
@@ -2051,6 +2094,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:34:0:0): plugins/language-support-vala/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:34:1): libanjuta-language-vala.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS) $(VALA_LIBS)
                     SOURCE (11:6:34:1:0): plugins/language-support-vala/locator.vala
                     SOURCE (11:6:34:1:1): plugins/language-support-vala/plugin.vala
                     SOURCE (11:6:34:1:2): plugins/language-support-vala/provider.vala
@@ -2068,6 +2112,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 TARGET (11:6:35:4): python_plugin_plugin
                     SOURCE (11:6:35:4:0): plugins/language-support-python/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:35:5): libpython_plugin.la
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS)
                     SOURCE (11:6:35:5:0): plugins/language-support-python/plugin.c
                     SOURCE (11:6:35:5:1): plugins/language-support-python/plugin.h
                     SOURCE (11:6:35:5:2): plugins/language-support-python/python-assist.c
@@ -2081,6 +2126,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                     SOURCE (11:6:36:0:0): plugins/python-loader/$(plugin_in_files:.plugin.in=.plugin)
                 TARGET (11:6:36:1): libanjuta-python-loader.la
                     PROPERTY (Linker flags): $(ANJUTA_PLUGIN_LDFLAGS)
+                    PROPERTY (Additional libraries): $(LIBANJUTA_LIBS) $(PYTHON_LIBS) $(PYGOBJECT_LIBS)
                     SOURCE (11:6:36:1:0): plugins/python-loader/plugin.c
                     SOURCE (11:6:36:1:1): plugins/python-loader/plugin.h
         GROUP (11:7): src
@@ -2096,6 +2142,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 SOURCE (11:7:3:0): src/anjuta-preferences-general.svg
                 SOURCE (11:7:3:1): src/anjuta-preferences-general-48.png
             TARGET (11:7:4): anjuta
+                PROPERTY (Additional objects): $(GCONF_LIBS) $(GDL_LIBS) $(GLADE_LIBS) $(GLIB_LIBS) $(top_builddir)/libanjuta/libanjuta.la
                 PROPERTY (Linker flags): $(ANJUTA_LDFLAGS)
                 SOURCE (11:7:4:0): src/about.c
                 SOURCE (11:7:4:1): src/about.h
@@ -2108,6 +2155,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
                 SOURCE (11:7:4:8): src/action-callbacks.c
                 SOURCE (11:7:4:9): src/main.c
             TARGET (11:7:5): anjuta-shell
+                PROPERTY (Additional objects): $(top_builddir)/libanjuta/libanjuta.la
                 SOURCE (11:7:5:0): src/shell.c
                 SOURCE (11:7:5:1): src/shell.h
         GROUP (11:8): manuals
@@ -2123,6 +2171,7 @@ PROPERTY (Bug report URL): http://bugzilla.gnome.org/enter_bug.cgi?product=anjut
         GROUP (11:10): launcher
             PROPERTY (C preprocessor flags): -I. -I.. $(ANJUTA_CFLAGS) -g -O $(DEPRECATED_FLAGS)
             TARGET (11:10:0): anjuta-launcher
+                PROPERTY (Additional objects): $(ANJUTA_LIBS)
         GROUP (11:11): po
         TARGET (11:12): anjutadoc
             SOURCE (11:12:0): MAINTAINERS
diff --git a/plugins/am-project/tests/properties.at b/plugins/am-project/tests/properties.at
index 6bf1305..2610895 100644
--- a/plugins/am-project/tests/properties.at
+++ b/plugins/am-project/tests/properties.at
@@ -13,13 +13,13 @@ bin_PROGRAMS = target1
 AT_DATA([expect],
 [[    GROUP (0): empty1
         TARGET (0:0): target1
+            PROPERTY (Additional libraries): $(GDL_LIBS)
 ]])
 AT_DATA([reference.am],
 [[
 bin_PROGRAMS = target1
 
-target1_LIBADD = \
-	$(GDL_LIBS)
+target1_LIBADD = $(GDL_LIBS)
 ]])
 AT_PARSER_CHECK([load empty \
 		move empty1 \
@@ -33,4 +33,77 @@ AT_PARSER_CHECK([load empty1 \
 AT_CHECK([diff output expect])
 
 
+
+AT_DATA([expect],
+[[    GROUP (0): empty2
+        TARGET (0:0): target1
+            PROPERTY (Additional libraries): $(GDL_LIBS) $(GLIB_LIBS)
+]])
+AT_DATA([reference.am],
+[[
+bin_PROGRAMS = target1
+
+target1_LIBADD = $(GDL_LIBS) \
+	$(GLIB_LIBS)
+]])
+AT_PARSER_CHECK([load empty1 \
+		move empty2 \
+		set 0:0 addlib '$(GDL_LIBS) $(GLIB_LIBS)' \
+		list \
+		save])
+AT_CHECK([diff output expect])
+AT_CHECK([diff -b empty2/Makefile.am reference.am])
+AT_PARSER_CHECK([load empty2 \
+		 list])
+AT_CHECK([diff output expect])
+
+
+
+AT_DATA([expect],
+[[    GROUP (0): empty3
+        TARGET (0:0): target1
+            PROPERTY (Additional libraries): $(GLIB_LIBS)
+]])
+AT_DATA([reference.am],
+[[
+bin_PROGRAMS = target1
+
+target1_LIBADD = $(GLIB_LIBS)
+]])
+AT_PARSER_CHECK([load empty2 \
+		move empty3 \
+		set 0:0 addlib '$(GLIB_LIBS)' \
+		list \
+		save])
+AT_CHECK([diff output expect])
+AT_CHECK([diff -b empty3/Makefile.am reference.am])
+AT_PARSER_CHECK([load empty3 \
+		 list])
+AT_CHECK([diff output expect])
+
+
+
+AT_DATA([expect],
+[[    GROUP (0): empty4
+        TARGET (0:0): target1
+]])
+AT_DATA([reference.am],
+[[
+bin_PROGRAMS = target1
+
+target1_LIBADD =
+]])
+AT_PARSER_CHECK([load empty3 \
+		move empty4 \
+		clear 0:0 addlib \
+		list \
+		save])
+AT_CHECK([diff output expect])
+AT_CHECK([diff -b empty4/Makefile.am reference.am])
+AT_PARSER_CHECK([load empty4 \
+		 list])
+AT_CHECK([diff output expect])
+
+
+
 AT_CLEANUP



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]