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 2011/06/30 01:59:39 UTC

[lucy-commits] svn commit: r1141339 - in /incubator/lucy/trunk: charmonizer/Makefile charmonizer/Makefile.win devel/bin/gen_charmonizer_makefiles.pl

Author: marvin
Date: Wed Jun 29 23:59:39 2011
New Revision: 1141339

URL: http://svn.apache.org/viewvc?rev=1141339&view=rev
Log:
Add the ability to override the linker when building Charmonizer.

Modified:
    incubator/lucy/trunk/charmonizer/Makefile
    incubator/lucy/trunk/charmonizer/Makefile.win
    incubator/lucy/trunk/devel/bin/gen_charmonizer_makefiles.pl

Modified: incubator/lucy/trunk/charmonizer/Makefile
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/Makefile?rev=1141339&r1=1141338&r2=1141339&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/Makefile (original)
+++ incubator/lucy/trunk/charmonizer/Makefile Wed Jun 29 23:59:39 2011
@@ -17,10 +17,13 @@
 
 CC= cc
 DEFS=
+CFLAGS= -Isrc $(DEFS)
 EXEEXT= 
 OBJEXT= .o
+LINKER= $(CC)
+LINKFLAGS = $(CFLAGS)
+LINKOUT= -o
 PROGNAME= charmonize$(EXEEXT)
-CFLAGS= -Isrc $(DEFS)
 CLEANABLE= $(OBJS) $(PROGNAME) $(TEST_OBJS) $(TESTS) core
 
 TESTS= TestDirManip$(EXEEXT) TestFuncMacro$(EXEEXT) TestHeaders$(EXEEXT) TestIntegers$(EXEEXT) TestLargeFiles$(EXEEXT) TestUnusedVars$(EXEEXT) TestVariadicMacros$(EXEEXT)
@@ -39,30 +42,30 @@ all: $(PROGNAME)
 tests: $(TESTS)
 
 $(PROGNAME): $(OBJS)
-	$(CC) $(CFLAGS) -o $(PROGNAME) $(OBJS)
+	$(LINKER) $(LINKFLAGS) $(OBJS) $(LINKOUT)"$(PROGNAME)"
 
 $(OBJS) $(TEST_OBJS): $(HEADERS)
 
 TestDirManip$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestDirManip$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestDirManip$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestDirManip$(OBJEXT) $(LINKOUT)"$@"
 
 TestFuncMacro$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestFuncMacro$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestFuncMacro$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestFuncMacro$(OBJEXT) $(LINKOUT)"$@"
 
 TestHeaders$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestHeaders$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestHeaders$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestHeaders$(OBJEXT) $(LINKOUT)"$@"
 
 TestIntegers$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestIntegers$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestIntegers$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestIntegers$(OBJEXT) $(LINKOUT)"$@"
 
 TestLargeFiles$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestLargeFiles$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestLargeFiles$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestLargeFiles$(OBJEXT) $(LINKOUT)"$@"
 
 TestUnusedVars$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestUnusedVars$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestUnusedVars$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestUnusedVars$(OBJEXT) $(LINKOUT)"$@"
 
 TestVariadicMacros$(EXEEXT): src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestVariadicMacros$(OBJEXT)
-	$(CC) $(CFLAGS) -o $@ src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestVariadicMacros$(OBJEXT)
+	$(LINKER) $(LINKFLAGS) src/Charmonizer/Test$(OBJEXT) src/Charmonizer/Test/TestVariadicMacros$(OBJEXT) $(LINKOUT)"$@"
 
 
 clean:

Modified: incubator/lucy/trunk/charmonizer/Makefile.win
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/Makefile.win?rev=1141339&r1=1141338&r2=1141339&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/Makefile.win (original)
+++ incubator/lucy/trunk/charmonizer/Makefile.win Wed Jun 29 23:59:39 2011
@@ -17,11 +17,13 @@
 
 CC= cl
 DEFS=
+CFLAGS= -Isrc -nologo $(DEFS)
 EXEEXT= .exe
 OBJEXT= .obj
 PROGNAME= charmonize$(EXEEXT)
-LINKER= link -nologo
-CFLAGS= -Isrc -nologo $(DEFS)
+LINKER= link
+LINKFLAGS = -nologo
+LINKOUT= /OUT:
 CLEANABLE= $(OBJS) $(PROGNAME) $(TEST_OBJS) $(TESTS) core *.pdb
 
 TESTS= TestDirManip$(EXEEXT) TestFuncMacro$(EXEEXT) TestHeaders$(EXEEXT) TestIntegers$(EXEEXT) TestLargeFiles$(EXEEXT) TestUnusedVars$(EXEEXT) TestVariadicMacros$(EXEEXT)
@@ -38,32 +40,32 @@ HEADERS= src\Charmonizer\Core\Compiler.h
 all: $(PROGNAME)
 
 $(PROGNAME): $(OBJS)
-	$(LINKER) $(OBJS) /OUT:$(PROGNAME)
+	$(LINKER) $(LINKFLAGS) $(OBJS) $(LINKOUT)"$(PROGNAME)"
 
 $(OBJS) $(TEST_OBJS): $(HEADERS)
 
 tests: $(TESTS)
 
 TestDirManip$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestDirManip$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestDirManip$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestDirManip$(OBJEXT) $(LINKOUT)"$@"
 
 TestFuncMacro$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestFuncMacro$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestFuncMacro$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestFuncMacro$(OBJEXT) $(LINKOUT)"$@"
 
 TestHeaders$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestHeaders$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestHeaders$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestHeaders$(OBJEXT) $(LINKOUT)"$@"
 
 TestIntegers$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestIntegers$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestIntegers$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestIntegers$(OBJEXT) $(LINKOUT)"$@"
 
 TestLargeFiles$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestLargeFiles$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestLargeFiles$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestLargeFiles$(OBJEXT) $(LINKOUT)"$@"
 
 TestUnusedVars$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestUnusedVars$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestUnusedVars$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestUnusedVars$(OBJEXT) $(LINKOUT)"$@"
 
 TestVariadicMacros$(EXEEXT): src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestVariadicMacros$(OBJEXT)
-	$(LINKER) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestVariadicMacros$(OBJEXT) /OUT:$@
+	$(LINKER) $(LINKFLAGS) src\Charmonizer\Test$(OBJEXT) src\Charmonizer\Test\TestVariadicMacros$(OBJEXT) $(LINKOUT)"$@"
 
 
 clean:

Modified: incubator/lucy/trunk/devel/bin/gen_charmonizer_makefiles.pl
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/devel/bin/gen_charmonizer_makefiles.pl?rev=1141339&r1=1141338&r2=1141339&view=diff
==============================================================================
--- incubator/lucy/trunk/devel/bin/gen_charmonizer_makefiles.pl (original)
+++ incubator/lucy/trunk/devel/bin/gen_charmonizer_makefiles.pl Wed Jun 29 23:59:39 2011
@@ -61,7 +61,7 @@ sub unix_tests {
     my @block;
     push @block, <<EOT for 0..$#test;
 $test[$_]: $test_obj $obj[$_]
-	\$(CC) \$(CFLAGS) -o \$@ $test_obj $obj[$_]
+	\$(LINKER) \$(LINKFLAGS) $test_obj $obj[$_] \$(LINKOUT)"\$@"
 EOT
     return \@block, \@test;
 }
@@ -76,7 +76,7 @@ sub win_tests {
     my @block;
     push @block, <<EOT for 0..$#test;
 $test[$_]: $test_obj $obj[$_]
-	\$(LINKER) $test_obj $obj[$_] /OUT:\$@
+	\$(LINKER) \$(LINKFLAGS) $test_obj $obj[$_] \$(LINKOUT)"\$@"
 EOT
     return \@block, \@test;
 }
@@ -90,10 +90,13 @@ sub gen_makefile {
 $license
 CC= cc
 DEFS=
+CFLAGS= -Isrc \$(DEFS)
 EXEEXT= 
 OBJEXT= .o
+LINKER= \$(CC)
+LINKFLAGS = \$(CFLAGS)
+LINKOUT= -o
 PROGNAME= charmonize\$(EXEEXT)
-CFLAGS= -Isrc \$(DEFS)
 CLEANABLE= \$(OBJS) \$(PROGNAME) \$(TEST_OBJS) \$(TESTS) core
 
 TESTS= $args{test_execs}
@@ -112,7 +115,7 @@ all: \$(PROGNAME)
 tests: \$(TESTS)
 
 \$(PROGNAME): \$(OBJS)
-	\$(CC) \$(CFLAGS) -o \$(PROGNAME) \$(OBJS)
+	\$(LINKER) \$(LINKFLAGS) \$(OBJS) \$(LINKOUT)"\$(PROGNAME)"
 
 \$(OBJS) \$(TEST_OBJS): \$(HEADERS)
 
@@ -133,11 +136,13 @@ sub gen_makefile_win {
 $license
 CC= cl
 DEFS=
+CFLAGS= -Isrc -nologo \$(DEFS)
 EXEEXT= .exe
 OBJEXT= .obj
 PROGNAME= charmonize\$(EXEEXT)
-LINKER= link -nologo
-CFLAGS= -Isrc -nologo \$(DEFS)
+LINKER= link
+LINKFLAGS = -nologo
+LINKOUT= /OUT:
 CLEANABLE= \$(OBJS) \$(PROGNAME) \$(TEST_OBJS) \$(TESTS) core *.pdb
 
 TESTS= $args{test_execs}
@@ -154,7 +159,7 @@ HEADERS= $args{headers}
 all: \$(PROGNAME)
 
 \$(PROGNAME): \$(OBJS)
-	\$(LINKER) \$(OBJS) /OUT:\$(PROGNAME)
+	\$(LINKER) \$(LINKFLAGS) \$(OBJS) \$(LINKOUT)"\$(PROGNAME)"
 
 \$(OBJS) \$(TEST_OBJS): \$(HEADERS)