You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2015/03/19 01:09:22 UTC
[02/19] lucy-clownfish git commit: Add a static library target for
CFC.
Add a static library target for CFC.
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/3d5934cb
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/3d5934cb
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/3d5934cb
Branch: refs/heads/master
Commit: 3d5934cb575f92f4213e08ba25eacccca6ecc312
Parents: b004295
Author: Marvin Humphrey <ma...@rectangular.com>
Authored: Sat Nov 29 14:02:14 2014 -0800
Committer: Marvin Humphrey <ma...@rectangular.com>
Committed: Mon Mar 2 18:28:49 2015 -0800
----------------------------------------------------------------------
compiler/common/charmonizer.main | 15 +++++++++++++++
1 file changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d5934cb/compiler/common/charmonizer.main
----------------------------------------------------------------------
diff --git a/compiler/common/charmonizer.main b/compiler/common/charmonizer.main
index 9174d72..801c954 100644
--- a/compiler/common/charmonizer.main
+++ b/compiler/common/charmonizer.main
@@ -29,6 +29,9 @@ typedef struct SourceFileContext {
chaz_MakeVar *common_test_objs;
} SourceFileContext;
+static const char cfc_version[] = "0.4.0";
+static const char cfc_major_version[] = "0.4";
+
static void
S_add_compiler_flags(struct chaz_CLI *cli);
@@ -133,6 +136,17 @@ S_add_compiler_flags(struct chaz_CLI *cli) {
}
static void
+S_add_staticlib_makefile_target(chaz_MakeFile *makefile) {
+ chaz_Lib *static_lib = chaz_Lib_new("cfc", chaz_Lib_STATIC, cfc_version,
+ cfc_major_version);
+ char *static_lib_filename = chaz_Lib_filename(static_lib);
+ chaz_MakeFile_add_rule(makefile, "static", static_lib_filename);
+ chaz_MakeFile_add_static_lib(makefile, static_lib, "$(COMMON_OBJS)");
+ free(static_lib_filename);
+ chaz_Lib_destroy(static_lib);
+}
+
+static void
S_write_makefile(struct chaz_CLI *cli) {
SourceFileContext sfc;
@@ -219,6 +233,7 @@ S_write_makefile(struct chaz_CLI *cli) {
/* Rules */
chaz_MakeFile_add_rule(makefile, "all", cfc_exe);
+ S_add_staticlib_makefile_target(makefile);
chaz_MakeFile_add_lemon_exe(makefile, lemon_dir);
chaz_MakeFile_add_lemon_grammar(makefile, parse_header);