Commit Graph

308 Commits

Author SHA1 Message Date
Reid Spencer
83cbcb9250 Make the $(OBJDIR) go away on clean-local.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 02:26:09 +00:00
Reid Spencer
3a561f5478 Several Changes:
* Fix parallel build problem on generated dependency files
* Fix rule confusion between .a and .la libraries so that parallel builds
  don't get confused on who is building which .o and which library it is
  going into.
* Fix dependency inclusion to only include C/C++ dependency files because
  other types of sources won't have dependencies auto generated.
* Change "Source" to "SOURCES" for naming consistency
* Update parallel build rules for new recursive targets
* Implement EXPERIMENTAL_DIRS (failure allowed) feature
* Implement -local version of targets (all-local, clean-local, etc)
* Implement recursive targets in terms of their local counterparts
* Clarify names of some internal variables
* Move documentation to docs/MakefileGuide.html
* Clean up commentary


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 20:04:14 +00:00
Reid Spencer
c64b2b350d * Actually ignore build errors in optional directories
* Use LLVM_SRC_ROOT as the anchor for the Target.td file
* Use MFLAGS instead of MAKEFLAGS for recursive makes so we don't try
  to build a target "w" or "s" mysteriously.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17186 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 08:19:37 +00:00
Reid Spencer
e53e397a96 Make sure that we don't set up a circular dependency if OBJDIR == SRCDIR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:06:30 +00:00
Misha Brukman
8567ccf6d0 Pull in Target.td using absolute path from source root instead of relative path;
this allows us to have sub-targets whose depth in the tree is not the same as it
is for the standard X86/PowerPC/Sparc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 22:18:27 +00:00
Reid Spencer
4d71b6611e Shorten the rules, speed it up, correct library contruction, add *.td rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:01:56 +00:00
Misha Brukman
5e94a21907 Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 02:06:40 +00:00
Chris Lattner
6856912f5b Don't add libz or libbz2 to the USEDLIBS lists, those are for LLVM libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 00:03:11 +00:00
Reid Spencer
37130d2b5e Provide support for auto-detection and use of compression libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 07:05:07 +00:00
John Criswell
ef672a691c Corrected spelling of Makefile variable, thereby re-enabling profile
builds for projects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16540 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 14:52:58 +00:00
Reid Spencer
ad9590e12c Missed one $*.a -> $@ conversion for the Release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16494 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23 06:07:24 +00:00
Reid Spencer
53a4b60a76 Correct the rules for making shared libraries per libtool 1.5.10
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16489 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23 00:58:06 +00:00
Reid Spencer
9c96c72b84 libtool's name is now back to mklib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 01:43:00 +00:00
John Criswell
fe785bd49d Add dependencies so that project tools are recompiled if LLVM libraries
are updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16378 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-16 14:11:25 +00:00
Brian Gaeke
67f9349175 Use libtool, not mklib (which somehow doesn't get generated anymore)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16243 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-07 19:03:35 +00:00
Reid Spencer
5f8c6b2546 Add LLVMC as a supported tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-05 16:39:01 +00:00
Reid Spencer
ec9d780153 Get rid of an un-needed and un-used GCCism. ATTR_DEPRECATED is used nowhere
in the LLVM source base.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16162 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:38:25 +00:00
Reid Spencer
05e90a0f64 Remove even the slightest chance of a race condition occurring :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15951 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:32:32 +00:00
Reid Spencer
fc9450855d Added a set of rules for installing configuration files. You can now say
CONFIG_FILES=a b c
in a Makefile and when you "make install" the files a b and c will get
installed into the $prefix/etc directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:20:05 +00:00
Misha Brukman
712c0e256e * Uncomment rule for location of LLI (formerly commented out: typo?)
* Add space between VAR and `='


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15074 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 12:47:40 +00:00
Brian Gaeke
0b441227e2 Move LLVM tool definitions to Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 01:31:47 +00:00
Chris Lattner
d85b7a48e9 Really, it is not necessary to recompile all files in a profile build every
time!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14680 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08 03:42:20 +00:00
Brian Gaeke
10c508b286 Explicitly specify libtool tag "CXX" so that if you setenv CXX to something
libtool can't parse, e.g., "/path/to/g++ -some-funny-options",
then it will still be able to compile and link.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 18:52:45 +00:00
Chris Lattner
396d96bd27 Make tool names end with .exe on windows. This isn't needed to run the
tools, but is required for rules that depend on the executables, e.g.:

a: b $(LLVMAS)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13926 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 19:06:43 +00:00
Misha Brukman
694b3ff967 Pass the Makefile flags to recursive makes in {PARALLEL,OPTIONAL}_DIRS targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 23:21:11 +00:00
Misha Brukman
c2fb006ecb Pass given flags on to recursive sub-makes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 00:09:21 +00:00
Alkis Evlogimenos
972c0c9f0a Change DEPRECATED macro to ATTR_DEPRECATED as this conflicts with some
java constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13611 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-20 21:31:43 +00:00
Misha Brukman
6d5ab866fc Standardize header comments of top-level Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13143 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-24 00:10:56 +00:00
Brian Gaeke
f313ea7da4 Add support for 'install-bytecode' target, used for ONLY installing
bytecode-libs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12268 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 17:38:01 +00:00
Alkis Evlogimenos
bccab5ed5e Define DEPRECATED so that it can be used in function and variable
declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 20:05:44 +00:00
Brian Gaeke
6c0969696a Fix bug in installation process: MKDIR must respect DESTDIR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11236 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-09 17:38:52 +00:00
Brian Gaeke
7a45c49344 Always replace instead of appending when creating archive files. It may be
slightly slower, but I think we can handle it, especially if it means
BytecodeLibs are correctly regenerated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11122 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-04 21:41:23 +00:00
Brian Gaeke
8abff7945a Move bytecode_libdir def'n to Makefile.config.in from Makefile.rules, so it
lives near the other installation dirs (like libdir, bindir, etc.).

Move the rule for making bytecode_libdir out of the ifdef LIBRARYNAME...endif.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10964 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-22 22:53:48 +00:00
Brian Gaeke
6fdaf4a219 Move support for building tags database from Makefile.rules to Makefile, because
it's only used in the top-level directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10960 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-22 21:54:51 +00:00
Brian Gaeke
13f99329ce Give the ".../llvm-gcc/bytecode-libs" directory a variable of its own,
called bytecode_libdir.  Make install-bytecode-library depend on
the existence of that directory, and add a rule for creating it if
it does not exist by calling mkinstalldirs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-21 23:57:21 +00:00
Brian Gaeke
819567d437 Add DESTDIR support for installation, to support RPM etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10940 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-21 21:20:44 +00:00
Brian Gaeke
d252d75d60 Maybe Misha isn't so buggy after all. He caught the rest of my huge thinko
w.r.t. SHLIBEXT starting with a dot.

:-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10939 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-21 21:17:37 +00:00
Brian Gaeke
d65ed3fbe8 Remember, SHLIBEXT begins with a period.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10936 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-21 19:59:19 +00:00
Brian Gaeke
9d3cd40343 Modified version of patch from mkahl@apple.com to stop hardcoding ".so".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10935 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-21 19:53:11 +00:00
Brian Gaeke
dacca356a7 Take settings of LCC and LCC1XX from configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10899 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-16 21:31:20 +00:00
Brian Gaeke
7976e97e1e I'm fairly certain this was just a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10897 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-16 21:12:34 +00:00
John Criswell
b1f5cfe0c4 Allow C++ programs to end in .cc. This allows C++ test programs in the
test suite to compile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10644 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-29 22:02:12 +00:00
Brian Gaeke
78cb3f218a Add install target for libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10519 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-18 20:57:48 +00:00
Brian Gaeke
44909cf54a Add support for installing tool executables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10351 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 00:26:28 +00:00
Chris Lattner
d180300c92 Stop using the -fshort-enum compile option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-06 20:59:45 +00:00
Chris Lattner
a8df7bdbac Make stripped-bytecode a recursive target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 07:28:25 +00:00
Chris Lattner
eefa3d3cfb Simplify some rules
Move LGCCLDPROG from test/Makefile.tests


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 09:50:15 +00:00
John Criswell
b3866b69a5 All directory targets now install the Makefile only if it is missing.
Directory targets no longer check for existance of the directory in the
object tree; if the Makefile doesn't exist, we will re-create the directory.
This seems to be a pretty good assumption and saves us from checking
directory existance each time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10211 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25 19:32:22 +00:00
John Criswell
6057760793 Added a pseudo-hack: The Makefile now copies Makefiles from source tree to
object tree if it is missing.  This means that new Makefiles should get
picked up automagically, requiring less bothersome re-configuring after
updates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10209 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25 17:49:22 +00:00
John Criswell
5af06f62ea Modified directory building rules so that using the cd program/alias is
not necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10199 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-24 18:31:01 +00:00
Misha Brukman
2fe6909be6 Shorten the "updating Makefile" status print-out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9874 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 00:05:29 +00:00
Misha Brukman
4f7a8cf8c2 If the source tree's Makefile is more up-to-date, copy it over into the build
tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9836 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09 21:36:19 +00:00
Chris Lattner
52d792cec1 Fix broken makefile dependency generation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9810 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08 21:23:06 +00:00
Chris Lattner
94ed65f864 Fix a really bad build problem for users who have .o in their build directory!
Thanks to Reid Spencer for figuring this out!  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9763 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 04:39:53 +00:00
Misha Brukman
b6d59a29ea Output only the .y filename, not the full path to it for ease of reading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9729 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 06:41:14 +00:00
John Criswell
a4c535284e Modified build rules so that a messages appears before and after linking.
This helps to disambiguate when linking begins and when the library/program
is linked and ready to be used.
This is sort of as preference thing, so feel free to modify/revert the change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9687 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-03 21:12:49 +00:00
Dinakar Dhurjati
79903c8115 Fixed LinkO, LinkP error in TOOLLINKOPTSB
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9591 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 20:34:13 +00:00
Dinakar Dhurjati
87ea8aa5e7 Added TOOLLINKOPTSB to pass options to the linker (e.g. adding search
path for external libraries).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9582 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 14:28:35 +00:00
Brian Gaeke
90eca5505f Add __STDC_LIMIT_MACROS here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9549 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 19:09:28 +00:00
Chris Lattner
771ed15f65 When linking the runtime libraries, do not link -lc and -lgcc into the libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9339 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 18:00:37 +00:00
John Criswell
d8846c19bd Added LLVM copyright notice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 14:33:46 +00:00
John Criswell
7ec78aa645 Added autoconf support for the sample project.
Fixed the header comment in Makefile.rules
Changed all references to the echo program in Makefile.rules to the value
found by autoconf.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9151 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 01:49:00 +00:00
Misha Brukman
10c1d77a32 Print out just the filename being compiled/linked, not the full path to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9018 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:37:22 +00:00
Chris Lattner
4faf860168 Make the message stand out more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9004 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 15:55:43 +00:00
Misha Brukman
94fe1f99e2 Depend on config.status instead of config.h, because config.h timestamp may not
change even though configure changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8923 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 15:24:23 +00:00
John Criswell
bd082800ec Added targets that force users to re-run autoconf when the script has been
updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 14:16:44 +00:00
John Criswell
e0f9ac6d45 Fixed the conditional targets for postscript files and tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-02 19:02:02 +00:00
John Criswell
4b6e5d1198 Changed the empty rule for .h files. The rule needs an empty command so that
Make actually uses it to "regenerate" header files that have been
moved/removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 18:37:08 +00:00
Chris Lattner
0df847aa5e Put llvm .bc files into the BytecodeObj subdirectory instead of the Bytecode
subdirectory.  This prevents the 'make clean' rule from removing lib/Bytecode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8550 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 22:17:02 +00:00
Chris Lattner
22c8328058 Allow specifying a file with symbols to export
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8531 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 15:06:54 +00:00
Chris Lattner
069f930a3b Wrap long lines at 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8512 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 01:12:04 +00:00
Chris Lattner
00e730abc3 Make sure to #include the OBJROOT config.h file, not the SRCROOT config.h file!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8511 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 01:07:32 +00:00
John Criswell
613758d55d Fixed SPEC so that it would run correctly with the new autoconf-style object
directory.
Added Makefile.spec to the list of files to copy to the object directory.
Moved the configuration of $SourceDir to Makefile.config and corrected the
conditional that surrounds it.  This allows SPEC to reset it and get the correct
VPATH.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8475 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-11 18:03:50 +00:00
John Criswell
b2f76bf93e Removed the aposthrophes endings and the elipses suffixes from build output.
This makes the output more consistent, and I just find aposthrophes annoying.
:)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-11 15:15:53 +00:00
Chris Lattner
ad2be6cc41 Avoid dumping runtime library bytecode files into lib/Bytecode if building
into the source directory


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 19:37:51 +00:00
John Criswell
410d1b5dea Updated to find source files using VPATH. This makes writing build rules
much cleaner and easier.
Labeled .td as a suffix for tblgen files in Makefile.rules.
Modified build rules so that source files generated during the build are placed
in the build directory and not the source directory (and not in a Debug
directory).  This makes the system cleaner and allows us to have a read-only
source tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-09 20:57:03 +00:00
John Criswell
7f33695eac Checkin of autoconf-style object root.
Moved Makefile.common to Makefile.rules.  This makes project Makefiles easier
to support, and allows for easier overriding of default configuration values
that used to be in Makefile.common.
Modified Makefile.config.in to determine paths for directories (like
LLVM_SRC_ROOT) and to use the pwd binary as opposed to the shell builtin (this
works better for symbolic links).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8377 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-06 14:44:17 +00:00
Chris Lattner
15444a9bd4 Slightly simplify make logic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8211 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 14:07:02 +00:00
Misha Brukman
a86b04246a Start using llvm-as' instead of as'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:45:08 +00:00
Chris Lattner
bb3dd47d8f Refactor code slightly. Make code compiled with llvmgcc use the warning options
as well.  Compile with -fshort-enums whether in debug or release mode, because it breaks the ABI


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8164 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 18:26:44 +00:00
Chris Lattner
72987eeafd Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8069 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 15:56:38 +00:00
Chris Lattner
33ad24a096 Remove last remenants of cleandeps
Allow disabling generation of .d files for a whole directory


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8053 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 14:10:16 +00:00
Chris Lattner
7d4d892e14 Ugh, really fix it now... :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8047 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 05:22:13 +00:00
Chris Lattner
f0f463eb63 Fix computation of LLVM_OBJ_ROOT for non-projects :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8046 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 05:18:49 +00:00
Chris Lattner
56e4fa4565 Include the top-level Makefile.config from the LLVM tree for projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8035 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 22:28:46 +00:00
Chris Lattner
e430a1eefb Projects no longer need to specify LLVM_OBJ_ROOT. Also, for the prdirs target, don't let make print out all of the echo commands before the echos get echo'd
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8034 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 22:23:49 +00:00
Misha Brukman
36bc6424f2 The word dependence' and its derivatives have no a'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 22:02:18 +00:00
Chris Lattner
942f904af7 Make the tags rule tolerate lack of one of the standard directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 21:53:38 +00:00
Chris Lattner
fbb574d7a1 * Remove cleandeps target
* Implement much nicer .d files, as suggested by Casey Carter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8020 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 20:39:08 +00:00
Chris Lattner
eb6b47c3e6 fix dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8004 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 15:47:37 +00:00
Chris Lattner
98892653e5 Point to the correct cc1/cc1plus binaries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7997 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20 22:11:45 +00:00
John Criswell
9621a2b073 Modified the SUFFIXES pseudo targets so that we remove all default suffixes
and explicitly declare all the ones we're using for LLVM.
This quickly cancels many of GNU Make's implicit rules and reduces build time.
The only caveat is that any new suffixes may need to be explictly added to
the .SUFFIXES pseudo target.

Removed the -only-static option as it is no longer used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7979 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20 15:18:41 +00:00
Chris Lattner
1ddb6b61ea Add new cleandeps target, to allow easy cleaning out of .d files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7954 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 17:27:40 +00:00
Chris Lattner
b7dc2b9251 Remove extraneous ;'s, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7902 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 20:00:47 +00:00
Chris Lattner
9a86a0171f Add llvm tools to path of LLVMGCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7882 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 15:20:52 +00:00
Chris Lattner
af06a08584 Make sure to create the directory before we cram a .bc file into it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7864 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 03:02:52 +00:00
Chris Lattner
481cc7c79e Implement BYTECODE_LIBRARY support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7855 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 02:18:35 +00:00
Chris Lattner
95cc1b39e0 Simplifications to Makefile.common, remove support for Purify since it was
broken by libtoolification anyways, and noone can use it because purify doesn't
support the 64-bit sparc compilers even if it weren't broken!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7850 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 21:10:25 +00:00
John Criswell
d741bcfa16 Merged in changes between PRE11_ROOT and LLVM_PRE111 (i.e. the beginning of
the pre-release 1.1 branch and pre-release 1.1.1).
Made the USE_SPEC option work.
Silenced unnecessary error output from the cmp command when checking for
updates to lex/yacc generated files.  This fixes a problem where we get error
messages the first time the file is generated.
Fixed the distclean option.  It is now in the Makefile (i.e. only runs in the
top level source directory), removes more files, and plays nicely with
external project Makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7780 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 18:51:51 +00:00
Brian Gaeke
6a80975505 Makefile.common: Remove commented-out and duplicate rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7650 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 21:44:22 +00:00
John Criswell
cb048097c9 Reverted back to using OR for cmp/mv operations for lex/yacc output.
The shell AND/OR operators short-circuit on command success/failure, which is
the inverse of exit status (i.e. 0 means success, non-zero means failure).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 21:38:28 +00:00
John Criswell
75a005ff4c Switched from using diff to cmp for two reasons:
o Not all versions of diff have the -q option
	o The cmp program is probably faster than diff
Fixed the logic that only copies the file over if no differences are found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 21:21:58 +00:00
Chris Lattner
68a13dc8c0 Urg, do not print "foo has changed" messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7573 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:07:01 +00:00
Chris Lattner
7bb107de41 While I'm looking at it, line up the SED lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7572 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 19:48:10 +00:00
Chris Lattner
a328f887c7 * Don't print out HOW we are running Flex unless in verbose mode. We already
hide the bison command line.
* If running flex or bison gives us the files we already have, don't overwrite
  the ones we have, which cause unnecessary compilation.  I demand the ability
  to make meaningless changes without penalty!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 19:47:06 +00:00
John Criswell
82f4a5a00c Modified the use of libtool so that we don't compile every file twice.
This can be done using the disable-shared tag that comes with libtool.
This change also required changing how .o libraries are linked.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7458 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 20:58:51 +00:00
John Criswell
8d4221eeaa Renamed libtool to mklib for your tab completion pleasure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7255 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 16:52:50 +00:00
John Criswell
96914390e6 Marked some of the phony targets are PHONY. This will hopefully speed
up builds a little bit since it will prevent GNU make from matching these
phony targets against implicit rules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7183 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 20:26:06 +00:00
Misha Brukman
1ba3138cdc The word separate' only has one e'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:26:34 +00:00
Vikram S. Adve
6edfe27195 Add phony target "bytecode" to ensure that it works in recursive makes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7147 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 19:25:29 +00:00
Misha Brukman
9b51b6fab2 Move the space separator to where it really belongs: in the print statement, not
in a variable assignment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7141 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:52:41 +00:00
Misha Brukman
f8873ed9d8 Removed an extra slash that appears in the path name when these variables are
combined with a '/' separating them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7121 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 22:27:05 +00:00
John Criswell
f4ccd99310 Renamed all of the LObj* variables (which represent libtool objects) to Obj*.
One of the test Makefiles uses the same variable names for something else,
and this was probably interfering with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7024 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 14:52:28 +00:00
John Criswell
7a73b80b90 Merged in autoconf branch. This provides configuration via the autoconf
system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
John Criswell
2a6530f91a Added the OPTIONAL_DIRS variable for specifying optional directories to build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6926 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-27 16:58:44 +00:00
John Criswell
6f4ad0be83 Reverted back to revision 1.91.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6812 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-20 21:24:54 +00:00
John Criswell
917fb38274 Added a hack that takes the path relative to the home directory into account
if a home directory is provided by the environment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6805 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-20 18:35:39 +00:00
Chris Lattner
e3ba95e6b7 Fix problem building optmized build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6798 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-20 15:41:57 +00:00
Chris Lattner
c500cf2fab Remove extra line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6773 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 19:20:11 +00:00
John Criswell
890d5bd263 Modified the environment variables that determine where things are located to
do the following:
	1) Determine their default values without $HOME
	2) Configure the default values as full absolute pathnames.
This should help fix the nightly test builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6719 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 19:14:31 +00:00
John Criswell
8bff509803 Modified Makefile.common to handle compilation of projects inside and outside
of the llvm source directory.
The main modification was to add new environment variables: one set for llvm
entities and another set for source entities current being compiled.
This should make the Makefile more flexible and easier to understand as each
environment variable only does one thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6679 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 13:55:44 +00:00
John Criswell
794fcd2ef8 Added configurable options for the Linker and Archiver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:50:31 +00:00
Dinakar Dhurjati
584dd186c8 Added documentation for the project options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6418 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 21:49:00 +00:00
Chris Lattner
f977143120 Get rid of extraneous ""s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6416 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:40:32 +00:00
Misha Brukman
d58a6058b1 Added a path to the current version of the built TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6409 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:09:23 +00:00
John Criswell
65aa593456 Removed configuration options that are better served in Makefile.config.
Fixed the LibInstDir macro.
Added the use of the FLEX variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6405 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 18:52:10 +00:00
Dinakar Dhurjati
ffb55cdae7 Added project options to the Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 16:18:20 +00:00
Chris Lattner
694c5df02a Add facilities for building source that is outside of the current directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-15 21:28:55 +00:00
Chris Lattner
760da06489 Fix several bugs in the build system, including the use of the Debug version of Burg no matter what configuration is currently configured.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5744 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-14 20:25:22 +00:00
Chris Lattner
fe95dae26b Fix warnings compiling C files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-19 22:12:20 +00:00
Chris Lattner
1d1e5b598e Fix profile builds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 16:56:30 +00:00
Chris Lattner
3aed67875d Add -fomit-frame-pointer when optimizing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5547 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-12 20:45:45 +00:00
Chris Lattner
527002cfdd Fix strip issue Joel ran into
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-31 19:00:26 +00:00
Chris Lattner
6d131b4582 Fix problem with flex scanners and huge token sizes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5410 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 16:33:10 +00:00
Chris Lattner
8d7dfb36c6 Fix lli build problem with parallel makes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5396 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 16:13:31 +00:00
Chris Lattner
e899678ffd Simplify and correct rules for building lex/yacc files. Make sure to delete
output upon make clean


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5347 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 22:44:19 +00:00
Chris Lattner
30440c6342 Add helper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 21:06:18 +00:00
Chris Lattner
dc95aded43 Add support for a recursive test target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5332 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 20:02:30 +00:00
Vikram S. Adve
ec4d36276f Use -Wl,-x instead of -s: it is more portable, and in particular,
is needed on BSD (MacOS).
Also, use -Ldir instead of -L dir on the link line.  Same reason...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5068 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-16 01:31:18 +00:00
Misha Brukman
ab6d293435 On `make clean', kill the core files produced, which are of the form:
core.### where ### is the process ID. We use core.[0-9][0-9]* to avoid killing
core.c, core.cpp, and core.h files which may be part of benchmarks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4913 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:08:15 +00:00
Chris Lattner
1c588505b8 Generalize ExportSymbols into PLATFORMLINKOPTS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4542 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 20:50:33 +00:00
Chris Lattner
3ea6a42b64 Don't link tools with -g objects!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4370 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 15:15:22 +00:00
Chris Lattner
ed03bc913f Patch submited by Casey to remove obnoxious warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 14:32:42 +00:00
Chris Lattner
f924b2de08 Disable optimization that doesn't apply to C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4264 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:35:28 +00:00
Chris Lattner
1eeac6612b Fix misspelled variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4262 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-22 23:28:23 +00:00
Vikram S. Adve
3ea6769070 Warn when we are linking an executable without symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4236 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-20 21:45:49 +00:00
Vikram S. Adve
a0c8e0a73d Remove outdated line which of course cvs merging never detects...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4175 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-15 01:59:45 +00:00
Vikram S. Adve
ad9ea7e694 Allow the Source variable to be overridden completely if needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4172 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 16:40:04 +00:00
Chris Lattner
9e39816f13 Make sure to print message when linking a debug .o file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3918 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 17:15:22 +00:00
Chris Lattner
172b648cd4 * Minor fixes to support C files.
* Build burg as a utility now, change its location
* Clean up other rules


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3876 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 02:47:15 +00:00