You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/02/14 18:59:28 UTC

[lucy-commits] git commit: refs/heads/c-bindings-cfc - Documentation for Charmonizer/Core/Make

Updated Branches:
  refs/heads/c-bindings-cfc c19657114 -> 14979987e


Documentation for Charmonizer/Core/Make


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/14979987
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/14979987
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/14979987

Branch: refs/heads/c-bindings-cfc
Commit: 14979987e3038309a6bc8346a304837bb463cdf3
Parents: c196571
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Thu Feb 14 18:53:51 2013 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Thu Feb 14 18:53:51 2013 +0100

----------------------------------------------------------------------
 charmonizer/src/Charmonizer/Core/Make.h |   83 ++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/14979987/charmonizer/src/Charmonizer/Core/Make.h
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/Make.h b/charmonizer/src/Charmonizer/Core/Make.h
index 2fe1cf6..430ae33 100644
--- a/charmonizer/src/Charmonizer/Core/Make.h
+++ b/charmonizer/src/Charmonizer/Core/Make.h
@@ -30,56 +30,139 @@ typedef struct chaz_MakeRule chaz_MakeRule;
 
 typedef void (*chaz_Make_list_files_callback_t)(char *file, void *context);
 
+/** Initialize the environment.
+ */
 void
 chaz_Make_init(void);
 
+/** Clean up the environment.
+ */
 void
 chaz_Make_clean_up(void);
 
+/** Return the name of the detected 'make' executable.
+ */
 const char*
 chaz_Make_get_make(void);
 
+/** Recursively list files in a directory. For every file a callback is called
+ * with the filename and a context variable.
+ *
+ * @param dir Directory to search in.
+ * @param ext File extension to search for.
+ * @param callback Callback to call for every matching file.
+ * @param context Context variable to pass to callback.
+ */
 void
 chaz_Make_list_files(const char *dir, const char *ext,
                      chaz_Make_list_files_callback_t callback, void *context);
 
+/** MakeFile constructor.
+ */
 chaz_MakeFile*
 chaz_MakeFile_new();
 
+/** Add a variable to a makefile.
+ *
+ * @param makefile The makefile.
+ * @param name Name of the variable.
+ * @param value Value of the variable. Can be NULL if you want add content
+ * later.
+ * @return a MakeVar.
+ */
 chaz_MakeVar*
 chaz_MakeFile_add_var(chaz_MakeFile *makefile, const char *name,
                       const char *value);
 
+/** Add a rule to a makefile.
+ *
+ * @param makefile The makefile.
+ * @param target The first target of the rule. Can be NULL if you want to add
+ * targets later.
+ * @param prereq The first prerequisite of the rule. Can be NULL if you want to
+ * add prerequisites later.
+ * @return a MakeRule.
+ */
 chaz_MakeRule*
 chaz_MakeFile_add_rule(chaz_MakeFile *makefile, const char *target,
                        const char *prereq);
 
+/** Add a file to the 'clean' target.
+ *
+ * @param makefile The makefile.
+ * @param target The filename.
+ */
 void
 chaz_MakeFile_add_to_cleanup(chaz_MakeFile *makefile, const char *target);
 
+/** Add a rule to link an executable. The executable will also be added to the
+ * list of files to clean.
+ *
+ * @param makefile The makefile.
+ * @param exe The name of the executable.
+ * @param objects The list of object files.
+ */
 void
 chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
                       const char *objects);
 
+/** Add a rule to link a shared object. The shared object will also be added to
+ * the list of files to clean.
+ *
+ * @param makefile The makefile.
+ * @param shared_obj The name of the shared object.
+ * @param objects The list of object files.
+ */
 void
 chaz_MakeFile_add_shared_obj(chaz_MakeFile *makefile, const char *shared_obj,
                              const char *objects);
 
+/** Write the makefile to a file named 'Makefile' in the current directory.
+ *
+ * @param makefile The makefile.
+ */
 void
 chaz_MakeFile_write(chaz_MakeFile *makefile);
 
+/** Append content to a makefile variable. The new content will be separated
+ * from the existing content with whitespace.
+ *
+ * @param var The variable.
+ * @param element The additional content.
+ */
 void
 chaz_MakeVar_append(chaz_MakeVar *var, const char *element);
 
+/** Add another target to a makefile rule.
+ *
+ * @param rule The rule.
+ * @param target The additional rule.
+ */
 void
 chaz_MakeRule_add_target(chaz_MakeRule *rule, const char *target);
 
+/** Add another prerequisite to a makefile rule.
+ *
+ * @param rule The rule.
+ * @param prereq The additional prerequisite.
+ */
 void
 chaz_MakeRule_add_prereq(chaz_MakeRule *rule, const char *prereq);
 
+/** Add a command to a rule.
+ *
+ * @param rule The rule.
+ * @param command The additional command.
+ */
 void
 chaz_MakeRule_add_command(chaz_MakeRule *rule, const char *command);
 
+/** Add one or more commands to call another makefile recursively.
+ *
+ * @param rule The rule.
+ * @param dir The directory in which to call the makefile.
+ * @param target The target to call. Pass NULL for the default target.
+ */
 void
 chaz_MakeRule_add_command_make(chaz_MakeRule *rule, const char *dir,
                                const char *target);