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)