1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
Commit Graph

651 Commits

Author SHA1 Message Date
Reid Spencer
90e73a6915 For PR528:
* Consolidate all "install" usage to the install program/script found by
  autoconf which includes the autoconf/install-sh script if necessary
* Change Makefile.rules to not use the -D flag to install but use the
  MKDIR command as necessary.
* Change Makefile.rules to differentiate between installation of executable
  files and regular data files to get the permission modes correct.

llvm-svn: 20294
2005-02-24 03:56:32 +00:00
Reid Spencer
60fb666741 Fix installation of configuration files.
llvm-svn: 20215
2005-02-16 16:17:11 +00:00
Reid Spencer
c2831e3ff7 * Don't flatten the directory hierarchy when installing headers
* Make it possible to have the Install program run in verbose mode when
  the TOOL_VERBOSE=1 option is set
* Ensure non-executable installed files do not install with execute perms.

llvm-svn: 20214
2005-02-16 16:13:02 +00:00
Reid Spencer
2cfc6b1799 Don't use pax for installing header files. Use the install program instead.
llvm-svn: 20213
2005-02-16 15:54:03 +00:00
Reid Spencer
fcfc76189d For PR496:
When llvm-gcc is not available, bypass rules for Modules and Bytecode
Libraries that require llvm-gcc and emit instead a warning that llvm-gcc
is not available. This permits "make LLVMGCC=" to build LLVM completely
without error and provides warnings about the modules and bc libs that
could not be constructed.

llvm-svn: 20185
2005-02-14 21:54:08 +00:00
Andrew Lenharth
5a93d1b095 non-ieee arith crashes passes on alpha
llvm-svn: 20144
2005-02-13 03:41:10 +00:00
Chris Lattner
cbc812d17e Fix installation of configured headers when objdir != srcdir. Patch
contributed by Vladimir Merzliakov!

llvm-svn: 20084
2005-02-09 02:24:00 +00:00
Chris Lattner
8017ffaf55 Add support for .cc and .hpp files. Patch contributed by Vladimir Merzliakov!
llvm-svn: 20042
2005-02-04 21:28:50 +00:00
Alkis Evlogimenos
fa28df327d Add variable for bugpoint.
llvm-svn: 19981
2005-02-02 00:40:15 +00:00
Reid Spencer
0931107cf9 Fix some typos in the Makefile.rules.
Patch contributed by Vladimer Merzliakov.

llvm-svn: 19877
2005-01-28 19:52:32 +00:00
Reid Spencer
4ce9f4ecc8 Several changes:
* Rename BUILD_* to PROJ_*
* Differentiate between LLVM's Makefile.conf and the project's
* Use project specific install locations

llvm-svn: 19590
2005-01-16 02:20:54 +00:00
Reid Spencer
e400f3e8c7 Allow the Echo and EchoCmd variables to be overridden.
llvm-svn: 19551
2005-01-14 16:33:36 +00:00
Reid Spencer
dda13603e5 Implement the LOADABLE_MODULE option when building a shared library. This
passes the -module option on the libtool command line to ensure that the
shared library being built can be dlopened and dlsym can work on that
module. LOADABLE_MODULE should be sent only in conjunction with the
SHARED_LIBRARY directive. It should generally be used for any module that
is intended to be the target of an LLVM -load option. Note that loadable
modules will not have the lib prefix but otherwise look like shared
libraries. This is per the libtool recommendations and prevents these
special shared libraries from being linked in via -l option to the linker.

llvm-svn: 19454
2005-01-11 04:31:07 +00:00
Chris Lattner
70b5dc270b X86 JIT requires the selection dag library.
llvm-svn: 19336
2005-01-07 07:51:11 +00:00
John Criswell
6965294e53 Quote the paths and not the assignment of the PATH variable.
This seems to make things happier.

llvm-svn: 19276
2005-01-03 17:42:57 +00:00
John Criswell
e6cd7187d5 Joining the quote fray...
Reverting the quote patch.  For some reason, this breaks the building of
llvm/runtime (the shell doesn't like it for some reason).  I might play
with it to see if I can get the quotes done in such a way that the shell
like it, but no promises.

llvm-svn: 19275
2005-01-03 17:41:56 +00:00
Reid Spencer
1e4b3994a5 Re-apply last (reverted) patch. Reverting doesn't solve the actual problem
and creates issues on other platforms like Cygwin and MingW.

llvm-svn: 19266
2005-01-03 04:04:54 +00:00
Jeff Cohen
fd5f7ab829 Don't quote the PATH variable value just in case it has spaces in it, as
it breaks "gmake check".

llvm-svn: 19265
2005-01-03 02:44:54 +00:00
Reid Spencer
a38d8140b6 Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
exceptions to abort() in cases where it should not.

Many thanks to Duraid Madina for doing the heavy lifting on the analysis
of this problem.

llvm-svn: 19256
2005-01-02 17:43:20 +00:00
Reid Spencer
9f11c90da3 Quote the PATH variable value just in case it has spaces in it (like on
Cygwin).

llvm-svn: 19255
2005-01-02 09:45:54 +00:00
Reid Spencer
091690d283 Correct the name of the variable for the LLVM examples directory so that
parallel builds don't attempt to create it twice.

llvm-svn: 19171
2004-12-28 07:59:22 +00:00
Reid Spencer
23650b8843 Make it possible to reconfigure a project as well as just LLVM main dir.
llvm-svn: 19164
2004-12-27 08:50:27 +00:00
Reid Spencer
162dfd4529 Make sure llvm-g++ gets the right path for the llvm tools.
llvm-svn: 19138
2004-12-24 14:47:34 +00:00
Reid Spencer
2bc8f38730 Two corrections:
* When reconfiguring, make sure the config.cache file is blown away so that
  its (old) values don't short-circuit doing the tests. When a reconfigure
  is done, it should be done from scratch, without the cache.
* For dist-check, don't pass --with-llvmgccdir any more because configure
  doesn't have this option any more.

llvm-svn: 19126
2004-12-24 03:36:31 +00:00
Reid Spencer
17f853e178 For PR432:
* Cleanup LLVMGCXX and LLVMGCC by providing LLVMGXXWITHPATH and LLVMGCCWITHPATH
  variables that add the $(LLVMToolDir) to the path so the CFE tools can find
  the right LLVM tools they depend on.
* Standardize the name of a variable: cferuntime_libdir -> CFERuntimeLibDir

llvm-svn: 19095
2004-12-22 05:57:21 +00:00
Reid Spencer
31ec796abd Complete the implementation of the spotless rule and make it not depend on
the .. directory.

llvm-svn: 19012
2004-12-17 07:45:03 +00:00
Chris Lattner
f590dad95d X86 doesn't actually use SelectionDAG yet.
llvm-svn: 18996
2004-12-16 19:40:10 +00:00
Reid Spencer
cc8f82a8fd Some minor upgrades
* Convert "cmp" usage to $(CMP)
* Convert "cp" usage to $(CP)
* Fix some build messages to reflect what's actually going on
* Add a "reconfigure" target for forcing a reconfigure. Helps with testing
  things like Chris's recent changes.

llvm-svn: 18991
2004-12-16 18:26:53 +00:00
Chris Lattner
4dd30993bb Factor all of the .inc : .inc.tmp rules into one.
llvm-svn: 18989
2004-12-16 17:38:56 +00:00
Chris Lattner
5c0f4ba545 Add spaces between rule groups to make it more obvious which ones pair
Remove instrselector generation, remove Intel/ATT specifics from Makefile.rules.

llvm-svn: 18988
2004-12-16 17:34:04 +00:00
Chris Lattner
e3caab7abf When tblgen changes, regenerate all .inc files, but do not rebuild any .o
files that USE the .inc file unless the contents of the .inc file changes.

This should fix the problem where reconfiguring causes all targets to be
completely rebuilt (because config.h is usually modified, causing libsystem
to be rebuilt, causing tblgen to be rebuilt, causing .inc files to be
rebuilt, causing .o files to be rebuilt).

This patch also checks in a gross hack where .o files now explicitly depend
on $(BUILT_SOURCES), to avoid problems where the .inc files are not completely
generated before the .o files start to compile.

llvm-svn: 18986
2004-12-16 17:28:50 +00:00
Reid Spencer
7c44ccde4c Add a "make spotless" rule for environments with BUILD_OBJ_ROOT not equal
to BUILD_OBJ_SRC. This will save the config.status and mklib files, then
wipe out the BUILD_OBJ_ROOT, copy back config.status and mklib, and then
run config.status to regenerate the makefiles. This target gives you a
completely clean/fresh BUILD_OBJ_ROOT.

llvm-svn: 18981
2004-12-16 08:00:46 +00:00
Reid Spencer
a4adfde07a Get rid of extraneous dependencies on $(BUILT_SOURCES) now that we've fixed
the bug with BUILT_SOURCES being dependencies of the user targets.

llvm-svn: 18980
2004-12-16 07:36:08 +00:00
Reid Spencer
aa93f1e97d Fix a major bug with BUILT_SOURCES. You actually have to dereference a
variable before you can filter its value. Duh!

llvm-svn: 18979
2004-12-16 07:15:16 +00:00
Reid Spencer
8dea41d5c4 Revert last patch which breaks PowerPC target because it fails to build
the 32bit and 64bit variants.

llvm-svn: 18978
2004-12-16 07:14:19 +00:00
Chris Lattner
7c0006b26f Make %'s a bit more explicit
llvm-svn: 18975
2004-12-15 23:38:13 +00:00
Chris Lattner
7b834c3f16 Make archive rules properly depend on llvm-ar.
llvm-svn: 18963
2004-12-15 17:14:06 +00:00
Reid Spencer
24434b4e9f Fix the default install directory of modules from / to $(libdir) !
Many thanks to Vladimir Merzliakov for pointing this out!

llvm-svn: 18942
2004-12-14 22:44:05 +00:00
Alkis Evlogimenos
2c93dd29aa Fix typo.
llvm-svn: 18901
2004-12-13 18:08:29 +00:00
Alkis Evlogimenos
f55166a4d8 Add llvm tool variables.
llvm-svn: 18897
2004-12-13 17:44:14 +00:00
Reid Spencer
fd4711c8df Finish the implementation of the BYTECODE_DESTINATION feature for modules
too and getting rid of the last remnants of bytecode_libdir.

llvm-svn: 18880
2004-12-13 07:38:07 +00:00
Reid Spencer
ec92aa7b73 Implement a new feature, BYTECODE_DESTINATION, to allow a user makefile to
specify where the bytecode library is to be installed. This allows the
default location ($prefix/lib) to be overridden, for special case runtime
libraries like the cfe runtime libs.

llvm-svn: 18879
2004-12-13 07:28:21 +00:00
Reid Spencer
9845eaa158 Make sure the archive doesn't have to exist before we remove it.
llvm-svn: 18873
2004-12-13 03:59:35 +00:00
Reid Spencer
be0fc626ed Always remove bytecode archives so that path mismatches don't cause the
contents to not be updated.

llvm-svn: 18872
2004-12-13 03:56:42 +00:00
Reid Spencer
d364db5bc5 Fix output for Flexing to not print full path of source.
llvm-svn: 18769
2004-12-10 19:44:16 +00:00
Reid Spencer
49ead80b65 Implement the LLVM_DO_NOT_BUILD feature. If a file of that name is
present in a directory that LLVM normally builds, it will skip building
the directory entirely. This is useful for allowing a bunch of projects to
live in the source tree but not be compiled from time to time.

llvm-svn: 18671
2004-12-08 22:58:34 +00:00
Reid Spencer
2c58e84716 Remove -Woverloaded-virtual usage that was committed by accident.
llvm-svn: 18615
2004-12-08 04:34:51 +00:00
Reid Spencer
f2a63d8c2c Remove variables that are not used by any of the LLVM makefiles
llvm-svn: 18614
2004-12-08 04:26:23 +00:00
Reid Spencer
ceebb05fd7 Add the check target so all projects can have this
functionality.

llvm-svn: 18566
2004-12-06 05:35:13 +00:00
Reid Spencer
d2fbecd129 Provide a variable to compute where the libstdc++.a is
llvm-svn: 18544
2004-12-05 19:14:19 +00:00
Reid Spencer
29771e7028 Add ability to make a single bytecode module from others
llvm-svn: 18523
2004-12-05 05:17:22 +00:00
Reid Spencer
d368a7385d Getting dist-check to work:\
* Implement the FAKE_SOURCES feature for GCCLibraries/crtend \
* Search for distribution files >first< in srcdir and >second< in objdir \
* Make dist-hook only run in top level directory. \
* Make dist-check run correctly in parallel builds \
* Wrap lines to 80 cols \
* Standardize variable names

llvm-svn: 18504
2004-12-04 22:34:09 +00:00
Chris Lattner
9f67970da3 Remove all recursive check support from Makefile.rules
llvm-svn: 18470
2004-12-03 23:56:41 +00:00
Chris Lattner
7a4b5b805b 'make check' at the top level shouldn't recurse through the sourcedirs
llvm-svn: 18463
2004-12-03 21:05:57 +00:00
Reid Spencer
d76bbc36c2 Resurrect the install-bytecode target for installing just the bytecode
libraries to the CFE.

llvm-svn: 18462
2004-12-03 20:08:48 +00:00
Reid Spencer
c5de9f0022 Pass -strip-debug to gccas when bytecode libraries are being built.
llvm-svn: 18452
2004-12-03 06:04:35 +00:00
Chris Lattner
6bec9c8559 Quiet!
llvm-svn: 18437
2004-12-02 21:23:43 +00:00
Reid Spencer
4f97a0968b For PR466:
Change construction of bytecode libraries from producing a single bytecode
file to producing a library containing bytecode files. This gets around the
problem of multiple symbol definitions in the linker if something like
-lc -lc is attempted on the command line. Previously this happened because
the linker would find libc.bc as a "library". It will now find libc.a which
it can simply search for missing symbols instead of linking in wholesale.

llvm-svn: 18425
2004-12-02 09:28:21 +00:00
Chris Lattner
82b69793f8 Make built bytecode libraries depend on gccas/gccld as appropriate. This
should fix the stale runtime libraries problem.

llvm-svn: 18361
2004-11-29 19:47:58 +00:00
Reid Spencer
e4b484789d Allow reconfig from any directory, not just the top build directory, by
changing directory first. Also make sure that we don't attempt to run
config.status if the recheck didn't work.

llvm-svn: 18351
2004-11-29 12:37:44 +00:00
Reid Spencer
134b5c37af Incorporate tools/Makefile.JIT
llvm-svn: 18332
2004-11-29 07:17:07 +00:00
Reid Spencer
327f10f795 * Allow date command to be printed in verbose mode
* Get rid of appending -lbz2 and -lz to ExtraLibs now that we don't need
  them any more.
* Fix the dist-check target so that EXTRA_DIST can be defined AFTER the
  include of Makefile.common. This is needed because Makefile.common
  provides variable definitions that may need to be used in computing the
  value of EXTRA_DIST.
* Clean up some "distdir" target output.

llvm-svn: 18329
2004-11-29 05:00:33 +00:00
Reid Spencer
100a5b7509 Allow configuration files to be themselves configured and found in the
OBJ dir instead of only in the SRC dir.

llvm-svn: 18143
2004-11-23 05:59:53 +00:00
Reid Spencer
56a0dfac4d Duh, put tools in *bin* directory, not *tools* directory as per
PR456.

llvm-svn: 17964
2004-11-18 20:04:39 +00:00
Reid Spencer
73ae4417c4 Fix PR456:\
Tools and libraries will be built into $(BUILD_OBJ_ROOT)/$(BuildMode)/bin and \
$(BUILD_OBJ_ROOT)/$(BuildMode)/lib, respectively. Furthermore, the example \
programs will go in $(BUILD_OBJ_ROOT)/$(BuildMode)/examples to keep them \
separate from the tools and hopefully out of the PATH. Install targets \
have not changed.

llvm-svn: 17953
2004-11-18 10:03:46 +00:00
Reid Spencer
45b3a665e7 Fix PR458:
* Don't include Makefile.rules in set of preconditions, it never has to be
  copied to objdir.
* Enable the "update makefile first before executing targets" feature in
  gnu make by *not* using a full path to the Makefile in the rule.

llvm-svn: 17920
2004-11-17 19:08:44 +00:00
Reid Spencer
d0d63d8617 Add a command for using llvm-ar correctly.
llvm-svn: 17753
2004-11-14 21:46:55 +00:00
Reid Spencer
cf0573d51f * Clean up all the shared library output on uninstall
* Provide the correct set of input directories to the TAGS target
* Provide a CTAGS target for building Vi style ctags files.

llvm-svn: 17688
2004-11-12 02:27:36 +00:00
Reid Spencer
91aa6dacad Implement and document the TOOL_VERBOSE option that asks each tool invoked
to be verbose about its actions too.

llvm-svn: 17624
2004-11-08 17:32:12 +00:00
Reid Spencer
ab68b552b9 * New Recursive Target: clean-all. This target will recursively descend the
$(ObjDir) and clean out all build modes (Debug, Release, Profile) in
  addition to the normal "clean" rules.
* Fix "clean" problems with Lex/Yacc so all files are remove properly.
* Ensure errors from "rm" don't thwart the uninstall and clean targets.

llvm-svn: 17433
2004-11-02 16:56:15 +00:00
Reid Spencer
0fef75d300 * New Recursive Target: clean-all
llvm-svn: 17432
2004-11-02 16:36:03 +00:00
Reid Spencer
172d3d0936 Eliminate redundant variable definition. Rename Configuration -> BuildMode
Make lex/yacc output cleaned only if in a directory that has those sources.

llvm-svn: 17391
2004-11-01 07:50:27 +00:00
Chris Lattner
5a49e20096 When compiling a file, indicate what build it is for
llvm-svn: 17388
2004-11-01 06:14:59 +00:00
Reid Spencer
e4c584928d Get the shared library extension right on all platforms, regardless of what
Chris wants on his platform.

llvm-svn: 17379
2004-10-31 22:53:06 +00:00
Reid Spencer
365ac26844 Fix output for building shared libraries per Chris' requirements
llvm-svn: 17376
2004-10-31 21:07:34 +00:00
Reid Spencer
24494ee631 Actually use the correct variable name for building bytecode files.
llvm-svn: 17374
2004-10-31 18:52:15 +00:00
Reid Spencer
acb1305e99 Internalize variable names to prevent recursive assignment. Cleanup docs.
llvm-svn: 17359
2004-10-30 09:19:36 +00:00
Reid Spencer
fad03efc87 Don't modify user vars because they will get passed down (modified) to
sub-makes and recursively append causing huge command lines and incorrect
compilation results.

Also, fix the printvars target to align its output and ensure that the
contents of variables can't get interpreted by the shell.

llvm-svn: 17348
2004-10-29 22:14:56 +00:00
Reid Spencer
8ec20b4531 Make the list of automatic Makefile* files updated explicit instead of
generally wildcarded.

llvm-svn: 17334
2004-10-29 04:47:33 +00:00
Chris Lattner
bfca3374bd This line breaks FreeBSD and apparently isn't useful anymore.
llvm-svn: 17332
2004-10-29 03:46:38 +00:00
Reid Spencer
e88cf33056 Bug Fixes:
* Move rules that build directories earlier in the file so that they are
  always built before the things that depend on them. This enables a
  parallel "dist-check" target.
* Fix use of TOOLLINKOPTS and TOOLLINKOPTSB (thanks to Henrik Bach)
* Standardize the output - some scripts using plain echo instead of $(ECHO)

llvm-svn: 17318
2004-10-28 09:15:28 +00:00
Reid Spencer
5ea855d162 Make parallel "install" and "uninstall" targets not step on itself.
llvm-svn: 17315
2004-10-28 07:57:28 +00:00
Reid Spencer
f0b7500beb Bug Fixes:
* Ensure that BUILT_SOURCES depends on OBJ_DIR/Makefile so that they do not
  get built before the Makefile is updated.
* Fix build script for yacc & lex files by stopping it from thwarting the
  dependencies on the file. If the .y file changes, it needs to be rebuilt.
  This also cleans up the problem with llvmAsmParser ALWAYS rebuilding its
  Yacc files just to throw them away because there's no change.

llvm-svn: 17288
2004-10-28 00:41:43 +00:00
Reid Spencer
5a05a0eb82 Fix auto-reconfigure bug: make sure we actually reconfigure not just
regenerate the config.status script.

llvm-svn: 17283
2004-10-27 22:48:58 +00:00
Reid Spencer
2c07ee5a8e Get the *.inc files to depend on tblgen so if tblgen gets fixed, all the
*.inc files get regenerated.

llvm-svn: 17273
2004-10-27 04:34:35 +00:00
Reid Spencer
fd26f5b69e Make sure that Makefile.rules and Makefile.config.in are not candidates for
automatic makefile update.

llvm-svn: 17269
2004-10-26 23:10:00 +00:00
Reid Spencer
1af6d6a47b Cleanup/Fixes:
* Force preconditions to be met FIRST
* Fix dist-check dependency
* Add some variables to the printvars target
* Automatically update Makefile.* as well as just Makefile

llvm-svn: 17268
2004-10-26 22:26:33 +00:00
Chris Lattner
f5dd9b3cd1 Unless someone seriously objects, I don't think we really need this. Sorry
resistor :(

llvm-svn: 17265
2004-10-26 20:02:50 +00:00
Reid Spencer
a4a13d55e4 * Implement the "dist-check" target that verifies the contents of a zipped
tarball.
* Fix bugs in the "dist" target (a precursor to dist-check).
* Correct the implementation of the "install" targets so that they ensure
  the installation directories are created before attmpting to install
  directories in them.
* Reduce the verbosity of the output of the makefile system
* Ensure output includes the configuration whenever libraries or tools are
  built, installed, or uninstalled.

llvm-svn: 17250
2004-10-26 07:09:33 +00:00
Chris Lattner
37623f9c02 Give a useful hint
llvm-svn: 17232
2004-10-26 02:58:10 +00:00
Reid Spencer
b459222ce0 New Makefile Features:
* "dist" target now builds tar.gz, tar.bz2, and zip files suitable for
  distribution. "dist" can only be run from $(BUILD_OBJ_ROOT) and implies
  a "check".

* made the preconditions not do a recursive make and ensured that they are
  executed sequentially.

* made the messages output by the makefile be prefixed with "llvm" and the
  make level (e.g. llvm[1]: ) in the same way that make does so that the
  messages are uniform and more readable.

* Fixed the tags target so that tags depends on TAGS which contains the
  rules to build a file named TAGS

* Implemented the EXTRA_DIST feature in a few directories to make sure it
  works.

llvm-svn: 17210
2004-10-25 08:27:37 +00:00
Reid Spencer
153a016da5 Fix uninstall from rebuilding everything (wrong dependency)
llvm-svn: 17204
2004-10-24 08:21:04 +00:00
Reid Spencer
a4de956f05 Implemented New Features:
* Fixed the install target to install files correctly
* Implemented the uninstall target to remove files from install dirs
* Isolated the top level targets (dist, dist-check, dist-clean, tags) so
  they only run/exist from the top level directory
* Put if/endif gaurds around potentially dangerous $(RM) commands.
* Implemented place-holder rules for distribution targets to just say that
  they aren't implemented yet.
* Implemented tags target in Makefile.rules so all projects can use it
* Made a pony for resistor

llvm-svn: 17202
2004-10-24 07:53:21 +00:00
Reid Spencer
1c94f475a2 Make the $(OBJDIR) go away on clean-local.
llvm-svn: 17197
2004-10-24 02:26:09 +00:00
Reid Spencer
187e36960b 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

llvm-svn: 17192
2004-10-23 20:04:14 +00:00
Reid Spencer
5c0629e0bb * 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.

llvm-svn: 17186
2004-10-23 08:19:37 +00:00
Reid Spencer
09a89bb3a7 Make sure that we don't set up a circular dependency if OBJDIR == SRCDIR
llvm-svn: 17172
2004-10-22 23:06:30 +00:00
Misha Brukman
ffc5ff3ca9 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.

llvm-svn: 17170
2004-10-22 22:18:27 +00:00
Reid Spencer
217a872cea Shorten the rules, speed it up, correct library contruction, add *.td rules
llvm-svn: 17166
2004-10-22 21:01:56 +00:00
Misha Brukman
6d1c8c1826 Fix grammar
llvm-svn: 16910
2004-10-11 02:06:40 +00:00
Chris Lattner
3a2af6b431 Don't add libz or libbz2 to the USEDLIBS lists, those are for LLVM libraries.
llvm-svn: 16798
2004-10-07 00:03:11 +00:00
Reid Spencer
ab7aea0879 Provide support for auto-detection and use of compression libraries.
llvm-svn: 16643
2004-10-04 07:05:07 +00:00
John Criswell
11855532c2 Corrected spelling of Makefile variable, thereby re-enabling profile
builds for projects.

llvm-svn: 16540
2004-09-28 14:52:58 +00:00
Reid Spencer
0e05a38c6a Missed one $*.a -> $@ conversion for the Release build.
llvm-svn: 16494
2004-09-23 06:07:24 +00:00
Reid Spencer
4961a0c269 Correct the rules for making shared libraries per libtool 1.5.10
llvm-svn: 16489
2004-09-23 00:58:06 +00:00
Reid Spencer
8fb0a02460 libtool's name is now back to mklib.
llvm-svn: 16423
2004-09-20 01:43:00 +00:00
John Criswell
cb28d6a419 Add dependencies so that project tools are recompiled if LLVM libraries
are updated.

llvm-svn: 16378
2004-09-16 14:11:25 +00:00
Brian Gaeke
f432e53b4b Use libtool, not mklib (which somehow doesn't get generated anymore)
llvm-svn: 16243
2004-09-07 19:03:35 +00:00
Reid Spencer
71ebce9885 Add LLVMC as a supported tool.
llvm-svn: 16183
2004-09-05 16:39:01 +00:00
Reid Spencer
1564e90b49 Get rid of an un-needed and un-used GCCism. ATTR_DEPRECATED is used nowhere
in the LLVM source base.

llvm-svn: 16162
2004-09-03 23:38:25 +00:00
Reid Spencer
6df2539fea Remove even the slightest chance of a race condition occurring :)
llvm-svn: 15951
2004-08-20 09:32:32 +00:00
Reid Spencer
ed217accfb 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.

llvm-svn: 15948
2004-08-20 09:20:05 +00:00
Misha Brukman
bfa2cebdc6 * Uncomment rule for location of LLI (formerly commented out: typo?)
* Add space between VAR and `='

llvm-svn: 15074
2004-07-21 12:47:40 +00:00
Brian Gaeke
b9b176fab3 Move LLVM tool definitions to Makefile.rules
llvm-svn: 15049
2004-07-21 01:31:47 +00:00
Chris Lattner
3e6c0078bd Really, it is not necessary to recompile all files in a profile build every
time!

llvm-svn: 14680
2004-07-08 03:42:20 +00:00
Brian Gaeke
5a0167d6da 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.

llvm-svn: 14072
2004-06-08 18:52:45 +00:00
Chris Lattner
49c125d629 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)
llvm-svn: 13926
2004-06-01 19:06:43 +00:00
Misha Brukman
fe56ae9569 Pass the Makefile flags to recursive makes in {PARALLEL,OPTIONAL}_DIRS targets.
llvm-svn: 13623
2004-05-21 23:21:11 +00:00
Misha Brukman
0b21d7eec3 Pass given flags on to recursive sub-makes.
llvm-svn: 13616
2004-05-21 00:09:21 +00:00
Alkis Evlogimenos
5ce001e6a8 Change DEPRECATED macro to ATTR_DEPRECATED as this conflicts with some
java constants.

llvm-svn: 13611
2004-05-20 21:31:43 +00:00
Misha Brukman
ebb3422358 Standardize header comments of top-level Makefiles.
llvm-svn: 13143
2004-04-24 00:10:56 +00:00
Brian Gaeke
396597ebd2 Add support for 'install-bytecode' target, used for ONLY installing
bytecode-libs.

llvm-svn: 12268
2004-03-10 17:38:01 +00:00
Alkis Evlogimenos
8159b05e03 Define DEPRECATED so that it can be used in function and variable
declarations.

llvm-svn: 11391
2004-02-13 20:05:44 +00:00
Brian Gaeke
d8be884ca5 Fix bug in installation process: MKDIR must respect DESTDIR.
llvm-svn: 11236
2004-02-09 17:38:52 +00:00
Brian Gaeke
8cd98dea67 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.

llvm-svn: 11122
2004-02-04 21:41:23 +00:00
Brian Gaeke
2ad4ba012c 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.

llvm-svn: 10964
2004-01-22 22:53:48 +00:00
Brian Gaeke
150102cdee Move support for building tags database from Makefile.rules to Makefile, because
it's only used in the top-level directory.

llvm-svn: 10960
2004-01-22 21:54:51 +00:00
Brian Gaeke
afa0e2d2c2 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.

llvm-svn: 10946
2004-01-21 23:57:21 +00:00
Brian Gaeke
705759b8b6 Add DESTDIR support for installation, to support RPM etc.
llvm-svn: 10940
2004-01-21 21:20:44 +00:00
Brian Gaeke
d901dc68f1 Maybe Misha isn't so buggy after all. He caught the rest of my huge thinko
w.r.t. SHLIBEXT starting with a dot.

:-)

llvm-svn: 10939
2004-01-21 21:17:37 +00:00
Brian Gaeke
4f7930e0ee Remember, SHLIBEXT begins with a period.
llvm-svn: 10936
2004-01-21 19:59:19 +00:00
Brian Gaeke
1df28be23b Modified version of patch from mkahl@apple.com to stop hardcoding ".so".
llvm-svn: 10935
2004-01-21 19:53:11 +00:00
Brian Gaeke
d296bb2203 Take settings of LCC and LCC1XX from configure.
llvm-svn: 10899
2004-01-16 21:31:20 +00:00
Brian Gaeke
3e83be326d I'm fairly certain this was just a typo.
llvm-svn: 10897
2004-01-16 21:12:34 +00:00
John Criswell
9c2268ff7a Allow C++ programs to end in .cc. This allows C++ test programs in the
test suite to compile.

llvm-svn: 10644
2003-12-29 22:02:12 +00:00
Brian Gaeke
bcea2cdd89 Add install target for libraries.
llvm-svn: 10519
2003-12-18 20:57:48 +00:00
Brian Gaeke
3304361220 Add support for installing tool executables.
llvm-svn: 10351
2003-12-10 00:26:28 +00:00
Chris Lattner
a75d42cf99 Stop using the -fshort-enum compile option
llvm-svn: 10296
2003-12-06 20:59:45 +00:00
Chris Lattner
f62ad43b22 Make stripped-bytecode a recursive target
llvm-svn: 10283
2003-12-01 07:28:25 +00:00
Chris Lattner
98d7cc937b Simplify some rules
Move LGCCLDPROG from test/Makefile.tests

llvm-svn: 10256
2003-11-29 09:50:15 +00:00
John Criswell
f16280eda9 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.

llvm-svn: 10211
2003-11-25 19:32:22 +00:00
John Criswell
d863a27b67 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.

llvm-svn: 10209
2003-11-25 17:49:22 +00:00
John Criswell
08a3878589 Modified directory building rules so that using the cd program/alias is
not necessary.

llvm-svn: 10199
2003-11-24 18:31:01 +00:00
Misha Brukman
41faed220d Shorten the "updating Makefile" status print-out.
llvm-svn: 9874
2003-11-11 00:05:29 +00:00
Misha Brukman
3185bcba8d If the source tree's Makefile is more up-to-date, copy it over into the build
tree.

llvm-svn: 9836
2003-11-09 21:36:19 +00:00
Chris Lattner
ddfcf87077 Fix broken makefile dependency generation
llvm-svn: 9810
2003-11-08 21:23:06 +00:00
Chris Lattner
33ce0dd665 Fix a really bad build problem for users who have .o in their build directory!
Thanks to Reid Spencer for figuring this out!  :)

llvm-svn: 9763
2003-11-07 04:39:53 +00:00
Misha Brukman
c48d9c4103 Output only the .y filename, not the full path to it for ease of reading.
llvm-svn: 9729
2003-11-05 06:41:14 +00:00
John Criswell
77f2ab0370 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.

llvm-svn: 9687
2003-11-03 21:12:49 +00:00
Dinakar Dhurjati
357cab254e Fixed LinkO, LinkP error in TOOLLINKOPTSB
llvm-svn: 9591
2003-10-29 20:34:13 +00:00
Dinakar Dhurjati
f850b1a456 Added TOOLLINKOPTSB to pass options to the linker (e.g. adding search
path for external libraries).

llvm-svn: 9582
2003-10-29 14:28:35 +00:00
Brian Gaeke
9061e3664a Add __STDC_LIMIT_MACROS here.
llvm-svn: 9549
2003-10-28 19:09:28 +00:00
Chris Lattner
e5fd89c157 When linking the runtime libraries, do not link -lc and -lgcc into the libraries
llvm-svn: 9339
2003-10-21 18:00:37 +00:00
John Criswell
0a6ca076e4 Added LLVM copyright notice.
llvm-svn: 9319
2003-10-21 14:33:46 +00:00
John Criswell
27f6878d71 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.

llvm-svn: 9151
2003-10-16 01:49:00 +00:00
Misha Brukman
a35992da67 Print out just the filename being compiled/linked, not the full path to it.
llvm-svn: 9018
2003-10-10 17:37:22 +00:00
Chris Lattner
bebc7a0e6c Make the message stand out more
llvm-svn: 9004
2003-10-10 15:55:43 +00:00
Misha Brukman
4c0e564072 Depend on config.status instead of config.h, because config.h timestamp may not
change even though configure changes.

llvm-svn: 8923
2003-10-07 15:24:23 +00:00
John Criswell
bbebc106ee Added targets that force users to re-run autoconf when the script has been
updated.

llvm-svn: 8921
2003-10-07 14:16:44 +00:00
John Criswell
779b9aa2fe Fixed the conditional targets for postscript files and tags.
llvm-svn: 8823
2003-10-02 19:02:02 +00:00
John Criswell
7a032bd1de 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.

llvm-svn: 8600
2003-09-18 18:37:08 +00:00
Chris Lattner
0144d69391 Put llvm .bc files into the BytecodeObj subdirectory instead of the Bytecode
subdirectory.  This prevents the 'make clean' rule from removing lib/Bytecode

llvm-svn: 8550
2003-09-15 22:17:02 +00:00
Chris Lattner
6abadeddb2 Allow specifying a file with symbols to export
llvm-svn: 8531
2003-09-15 15:06:54 +00:00
Chris Lattner
7713b6e414 Wrap long lines at 80 cols
llvm-svn: 8512
2003-09-15 01:12:04 +00:00
Chris Lattner
12fe9440cd Make sure to #include the OBJROOT config.h file, not the SRCROOT config.h file!
llvm-svn: 8511
2003-09-15 01:07:32 +00:00
John Criswell
fd9221eff3 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.

llvm-svn: 8475
2003-09-11 18:03:50 +00:00
John Criswell
1f114e5ead Removed the aposthrophes endings and the elipses suffixes from build output.
This makes the output more consistent, and I just find aposthrophes annoying.
:)

llvm-svn: 8465
2003-09-11 15:15:53 +00:00
Chris Lattner
b0ff60d540 Avoid dumping runtime library bytecode files into lib/Bytecode if building
into the source directory

llvm-svn: 8450
2003-09-10 19:37:51 +00:00
John Criswell
e783801878 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.

llvm-svn: 8424
2003-09-09 20:57:03 +00:00
John Criswell
e84e43b4a6 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).

llvm-svn: 8377
2003-09-06 14:44:17 +00:00
Chris Lattner
32a2f9698f Slightly simplify make logic
llvm-svn: 8211
2003-08-29 14:07:02 +00:00
Misha Brukman
1aa0f15bd0 Start using llvm-as' instead of as'.
llvm-svn: 8193
2003-08-28 21:45:08 +00:00
Chris Lattner
ccf9e52d5f 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

llvm-svn: 8164
2003-08-27 18:26:44 +00:00
Chris Lattner
3984e3eac5 Fix typeo
llvm-svn: 8069
2003-08-23 15:56:38 +00:00
Chris Lattner
277f72713c Remove last remenants of cleandeps
Allow disabling generation of .d files for a whole directory

llvm-svn: 8053
2003-08-22 14:10:16 +00:00
Chris Lattner
e63f08044c Ugh, really fix it now... :(
llvm-svn: 8047
2003-08-22 05:22:13 +00:00
Chris Lattner
0ac32902d8 Fix computation of LLVM_OBJ_ROOT for non-projects :(
llvm-svn: 8046
2003-08-22 05:18:49 +00:00
Chris Lattner
31338eca2e Include the top-level Makefile.config from the LLVM tree for projects
llvm-svn: 8035
2003-08-21 22:28:46 +00:00
Chris Lattner
d77d621dbf 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
llvm-svn: 8034
2003-08-21 22:23:49 +00:00
Misha Brukman
4c8f0c41d9 The word dependence' and its derivatives have no a'.
llvm-svn: 8028
2003-08-21 22:02:18 +00:00
Chris Lattner
532962d643 Make the tags rule tolerate lack of one of the standard directories
llvm-svn: 8027
2003-08-21 21:53:38 +00:00
Chris Lattner
de5780a502 * Remove cleandeps target
* Implement much nicer .d files, as suggested by Casey Carter

llvm-svn: 8020
2003-08-21 20:39:08 +00:00
Chris Lattner
d58cc1bfa5 fix dependency
llvm-svn: 8004
2003-08-21 15:47:37 +00:00
Chris Lattner
99eb396cc0 Point to the correct cc1/cc1plus binaries
llvm-svn: 7997
2003-08-20 22:11:45 +00:00
John Criswell
519d7f9e50 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.

llvm-svn: 7979
2003-08-20 15:18:41 +00:00
Chris Lattner
0a017f68c9 Add new cleandeps target, to allow easy cleaning out of .d files
llvm-svn: 7954
2003-08-18 17:27:40 +00:00
Chris Lattner
aee049613e Remove extraneous ;'s, no functional changes
llvm-svn: 7902
2003-08-15 20:00:47 +00:00
Chris Lattner
9e8f3b6a49 Add llvm tools to path of LLVMGCC
llvm-svn: 7882
2003-08-15 15:20:52 +00:00
Chris Lattner
40351fc323 Make sure to create the directory before we cram a .bc file into it
llvm-svn: 7864
2003-08-15 03:02:52 +00:00
Chris Lattner
7b45e00414 Implement BYTECODE_LIBRARY support
llvm-svn: 7855
2003-08-15 02:18:35 +00:00
Chris Lattner
1b6f820a48 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!

llvm-svn: 7850
2003-08-14 21:10:25 +00:00
John Criswell
b84423a6e8 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.

llvm-svn: 7780
2003-08-12 18:51:51 +00:00
Brian Gaeke
e45b89dee3 Makefile.common: Remove commented-out and duplicate rules.
llvm-svn: 7650
2003-08-06 21:44:22 +00:00
John Criswell
bc2e14bd15 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).

llvm-svn: 7616
2003-08-05 21:38:28 +00:00
John Criswell
a40b9262ec 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.

llvm-svn: 7615
2003-08-05 21:21:58 +00:00
Chris Lattner
cae5e0ed1a Urg, do not print "foo has changed" messages
llvm-svn: 7573
2003-08-04 20:07:01 +00:00
Chris Lattner
006e8b7d49 While I'm looking at it, line up the SED lines
llvm-svn: 7572
2003-08-04 19:48:10 +00:00
Chris Lattner
08f4aa071b * 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!

llvm-svn: 7571
2003-08-04 19:47:06 +00:00
John Criswell
e5f28ccd36 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.

llvm-svn: 7458
2003-07-31 20:58:51 +00:00
John Criswell
8a92405de7 Renamed libtool to mklib for your tab completion pleasure.
llvm-svn: 7255
2003-07-23 16:52:50 +00:00
John Criswell
75a7bcd904 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.

llvm-svn: 7183
2003-07-16 20:26:06 +00:00
Misha Brukman
0b5999cca1 The word separate' only has one e'.
llvm-svn: 7174
2003-07-14 17:26:34 +00:00
Vikram S. Adve
3737338edd Add phony target "bytecode" to ensure that it works in recursive makes.
llvm-svn: 7147
2003-07-10 19:25:29 +00:00
Misha Brukman
cbaa8f3bfe Move the space separator to where it really belongs: in the print statement, not
in a variable assignment.

llvm-svn: 7141
2003-07-10 16:52:41 +00:00
Misha Brukman
e377ce4ef6 Removed an extra slash that appears in the path name when these variables are
combined with a '/' separating them.

llvm-svn: 7121
2003-07-07 22:27:05 +00:00
John Criswell
53ded3e020 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.

llvm-svn: 7024
2003-07-01 14:52:28 +00:00
John Criswell
258dfc0319 Merged in autoconf branch. This provides configuration via the autoconf
system.

llvm-svn: 7014
2003-06-30 21:59:07 +00:00
John Criswell
0ac290e21c Added the OPTIONAL_DIRS variable for specifying optional directories to build.
llvm-svn: 6926
2003-06-27 16:58:44 +00:00
John Criswell
756e7b93ef Reverted back to revision 1.91.
llvm-svn: 6812
2003-06-20 21:24:54 +00:00
John Criswell
0619cdf430 Added a hack that takes the path relative to the home directory into account
if a home directory is provided by the environment.

llvm-svn: 6805
2003-06-20 18:35:39 +00:00
Chris Lattner
23718ce92a Fix problem building optmized build
llvm-svn: 6798
2003-06-20 15:41:57 +00:00
Chris Lattner
9798527411 Remove extra line
llvm-svn: 6773
2003-06-18 19:20:11 +00:00
John Criswell
7df3a3ba25 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.

llvm-svn: 6719
2003-06-16 19:14:31 +00:00
John Criswell
4c99bf65e8 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.

llvm-svn: 6679
2003-06-11 13:55:44 +00:00
John Criswell
4cbc824e38 Added configurable options for the Linker and Archiver.
llvm-svn: 6432
2003-05-30 15:50:31 +00:00
Dinakar Dhurjati
04a21368b8 Added documentation for the project options
llvm-svn: 6418
2003-05-29 21:49:00 +00:00
Chris Lattner
ff029041a5 Get rid of extraneous ""s
llvm-svn: 6416
2003-05-29 20:40:32 +00:00
Misha Brukman
ed6569ee86 Added a path to the current version of the built TableGen.
llvm-svn: 6409
2003-05-29 20:09:23 +00:00
John Criswell
210de9fa5a Removed configuration options that are better served in Makefile.config.
Fixed the LibInstDir macro.
Added the use of the FLEX variable.

llvm-svn: 6405
2003-05-29 18:52:10 +00:00
Dinakar Dhurjati
feb7027a76 Added project options to the Makefile.common
llvm-svn: 6402
2003-05-29 16:18:20 +00:00
Chris Lattner
8983badc86 Add facilities for building source that is outside of the current directory
llvm-svn: 6238
2003-05-15 21:28:55 +00:00
Chris Lattner
63975f1a26 Fix several bugs in the build system, including the use of the Debug version of Burg no matter what configuration is currently configured.
llvm-svn: 5744
2003-03-14 20:25:22 +00:00
Chris Lattner
f646ce5421 Fix warnings compiling C files
llvm-svn: 5600
2003-02-19 22:12:20 +00:00
Chris Lattner
a082aba9d1 Fix profile builds
llvm-svn: 5551
2003-02-13 16:56:30 +00:00
Chris Lattner
b702add8dc Add -fomit-frame-pointer when optimizing
llvm-svn: 5547
2003-02-12 20:45:45 +00:00
Chris Lattner
24fa7a9a85 Fix strip issue Joel ran into
llvm-svn: 5449
2003-01-31 19:00:26 +00:00
Chris Lattner
7b8e06ad22 Fix problem with flex scanners and huge token sizes
llvm-svn: 5410
2003-01-23 16:33:10 +00:00
Chris Lattner
9ddd4357d0 Fix lli build problem with parallel makes
llvm-svn: 5396
2003-01-22 16:13:31 +00:00
Chris Lattner
61878ec1ea Simplify and correct rules for building lex/yacc files. Make sure to delete
output upon make clean

llvm-svn: 5347
2003-01-16 22:44:19 +00:00
Chris Lattner
9fad277453 Add helper
llvm-svn: 5342
2003-01-16 21:06:18 +00:00
Chris Lattner
5980e78051 Add support for a recursive test target
llvm-svn: 5332
2003-01-16 20:02:30 +00:00
Vikram S. Adve
f8f55b5549 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...

llvm-svn: 5068
2002-12-16 01:31:18 +00:00
Misha Brukman
1e6cfa1afa 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.

llvm-svn: 4913
2002-12-04 17:08:15 +00:00
Chris Lattner
ca2e525869 Generalize ExportSymbols into PLATFORMLINKOPTS
llvm-svn: 4542
2002-11-04 20:50:33 +00:00
Chris Lattner
4ccc6efc11 Don't link tools with -g objects!
llvm-svn: 4370
2002-10-29 15:15:22 +00:00
Chris Lattner
026a12e304 Patch submited by Casey to remove obnoxious warnings.
llvm-svn: 4278
2002-10-25 14:32:42 +00:00
Chris Lattner
295493e86e Disable optimization that doesn't apply to C
llvm-svn: 4264
2002-10-22 23:35:28 +00:00
Chris Lattner
591d2954e7 Fix misspelled variable
llvm-svn: 4262
2002-10-22 23:28:23 +00:00
Vikram S. Adve
34f6a6514d Warn when we are linking an executable without symbols.
llvm-svn: 4236
2002-10-20 21:45:49 +00:00
Vikram S. Adve
cbdc0ab9b3 Remove outdated line which of course cvs merging never detects...
llvm-svn: 4175
2002-10-15 01:59:45 +00:00
Vikram S. Adve
2b7b6ce296 Allow the Source variable to be overridden completely if needed.
llvm-svn: 4172
2002-10-14 16:40:04 +00:00
Chris Lattner
6fdea2eef7 Make sure to print message when linking a debug .o file
llvm-svn: 3918
2002-09-25 17:15:22 +00:00
Chris Lattner
6384a01dc2 * Minor fixes to support C files.
* Build burg as a utility now, change its location
* Clean up other rules

llvm-svn: 3876
2002-09-22 02:47:15 +00:00
Vikram S. Adve
3e6b284c46 Fix yet another profile linking issue.
llvm-svn: 3865
2002-09-20 18:16:20 +00:00
Vikram S. Adve
2b35b84a5d Fix link error for profile version. Also, build Burg differently
for different architectures.

llvm-svn: 3862
2002-09-20 16:15:57 +00:00
Vikram S. Adve
39c311f716 The ENABLE_PROFILING flag now builds the profiled libraries and executables
into a Profile/ directory to keep them separate from the Debug/ and
Release/ versions.  Also, it turns on ENABLE_OPTIMIZED automatically.

llvm-svn: 3854
2002-09-20 14:03:13 +00:00
Chris Lattner
3dd63759ab Move the burg option out of Makefile.config into Makefile.common since
it no longer needs to be configured.

llvm-svn: 3828
2002-09-19 19:42:24 +00:00
Vikram S. Adve
6dcdeb5309 Strip tools/Debug/ executables by default. Define KEEP_SYMBOLS to
turn off stripping for any executable.

llvm-svn: 3812
2002-09-18 11:55:13 +00:00
Anand Shukla
274e7347ac corrected small bug, to handle when DIRS is not defined.
llvm-svn: 3810
2002-09-18 04:29:30 +00:00
Chris Lattner
911be737fa Add support for the new PARALLEL_DIRS option
llvm-svn: 3807
2002-09-18 03:22:27 +00:00
Chris Lattner
ca1db1112d Allow the VERBOSE=1 option to turn on output of recursive make behavior
llvm-svn: 3796
2002-09-17 23:45:34 +00:00
Chris Lattner
f1c3571159 Fix parallel recursive make to build directories in order
llvm-svn: 3794
2002-09-17 23:35:02 +00:00
Chris Lattner
d5200ae2a5 Comment line of the makefile
llvm-svn: 3770
2002-09-16 22:36:42 +00:00
Chris Lattner
d3d52f58e7 Handle whitespace in LIBRARYNAME gracefully
llvm-svn: 3769
2002-09-16 22:34:56 +00:00
Chris Lattner
64ea4a3bd2 Factor platform specific makefile directives out into their own makefile
fragments.  This is gross, but having tons of confusing conditionals all
throughout the build system seems worst.

Credits got to Casey Carter for the idea.

llvm-svn: 3705
2002-09-13 22:14:47 +00:00
Chris Lattner
b26efbb4b8 Link .so files correctly on either linux or solaris
llvm-svn: 3703
2002-09-13 21:41:07 +00:00
Chris Lattner
a569560f78 Build with -D_GNU_SOURCE to enable gnu extensions in header files
llvm-svn: 3702
2002-09-13 16:02:26 +00:00
Chris Lattner
6324f366e1 Make sure to print a message when linking a tool
llvm-svn: 3687
2002-09-12 17:02:40 +00:00
Misha Brukman
d10a4d9f9a Compiling with "gmake" should produce less output. The compilation/linking
flags are always the same anyway, who wants to see so much text on the
screen? Compiling with "gmake VERBOSE=1" should produce all the output
you're used to.

Basically it checks for VERBOSE being defined, and if it is, sets VERB
appropriately. VERB is then prepended in a bunch of key places such that
when VERB is "@", the command is not echoed, when VERB is not set to
anything, it's as before.

One thing I could not get rid of is "gmake[1]: Entering directory <blah>",
but running "gmake -s" suppresses it all, and shows just the interesting
stuff.

Now output (when running "gmake -s" will look something like):

<snip>
======= Linking target debug library =======
Compiling Writer.cpp
Compiling getLLVMinfo.cpp
Compiling as.cpp
Compiling dis.cpp
Compiling opt.cpp
Compiling gccas.cpp
<snip>

llvm-svn: 3686
2002-09-12 16:05:39 +00:00
Vikram S. Adve
e4f208a631 Simplified significantly by pulling out local configuration options
into Makefile.config.

llvm-svn: 3527
2002-08-29 23:28:46 +00:00
Vikram S. Adve
272f3f5148 Factor out /shared/... path to simplify changing it.
llvm-svn: 3521
2002-08-29 18:40:51 +00:00
Vikram S. Adve
cc3be0b25c Fix clean command to clean in /shared when that is used.
llvm-svn: 3449
2002-08-22 03:20:27 +00:00
Chris Lattner
cf7f8558e9 Throw purify temporary files into /shared if we have it.
llvm-svn: 3365
2002-08-17 21:39:58 +00:00
Chris Lattner
d0bb020dc9 - Makefile changes:
- Now build executables into /shared
   - New BUILD_ROOT_TOP variable which is basically = $(BUILD_ROOT)/$(LEVEL) but
     cleaner and works for llvm/test/*
   - Use := more in Makefile.common

llvm-svn: 3291
2002-08-12 21:19:28 +00:00
Chris Lattner
f51399457e Oops, I accidentally broke the .d files. Fixed thusly
llvm-svn: 3272
2002-08-09 19:18:12 +00:00
Chris Lattner
8212464b08 * Remove some bogus dependencies on Depend/.dir
* Build into the machine local /shared directory instead of using local
  Debug/Depend/Release directories

llvm-svn: 3269
2002-08-09 15:41:55 +00:00
Chris Lattner
6ac9ec3dab Comment options that may be enabled
llvm-svn: 3237
2002-08-03 20:19:30 +00:00
Vikram S. Adve
10d007f835 Don't build Debug/ versions when ENABLE_OPTIMIZED is on.
llvm-svn: 3216
2002-08-02 18:34:12 +00:00
Chris Lattner
0e29633a76 Cleanup Makefile a bit
llvm-svn: 3192
2002-07-31 21:32:05 +00:00
Chris Lattner
4942fcd9de Changes to allow building lib/Target/Sparc the FIRST time.
llvm-svn: 3078
2002-07-25 15:01:19 +00:00
Chris Lattner
e50bd1d95d Allow directories to specify that they want to be built as a shared object by default
llvm-svn: 3027
2002-07-23 19:21:31 +00:00
Chris Lattner
dd9546e204 Enable USEDLIBS to contain .a and .o files
llvm-svn: 3003
2002-07-23 17:56:16 +00:00
Vikram S. Adve
b06eb93a26 Add makefile-mode flag for emacs.
llvm-svn: 2841
2002-07-09 12:04:21 +00:00
Chris Lattner
b9e591a7b5 * Allow a profile'd code build to be done with a simple 'make ENABLE_PROFILING=1'
* Only build tags for include, lib, and tools, not tests
* Turn on verbose output from bison to get information about shift/reduce
  conficts (why isn't this the default??)

llvm-svn: 2603
2002-05-10 18:51:54 +00:00
Chris Lattner
f3d41ba855 Hopefully this change will make the makefile work for other people without hacking it.
llvm-svn: 2128
2002-04-07 06:18:40 +00:00
Chris Lattner
59a45b0559 * Allow purify builds to be enabled without hacking the makefile. Now you
just have to run: make ENABLE_PURIFY=1
* Add command to the link line that makes the broken GCC 3.0 compiler work
  without affecting 2.95.3

llvm-svn: 2116
2002-04-05 18:56:58 +00:00
Chris Lattner
881a3dc09f Try to fix build error
llvm-svn: 1723
2002-02-11 17:12:03 +00:00
Chris Lattner
07e397c46a Add := to make stuff more efficient
llvm-svn: 1551
2002-01-23 05:46:01 +00:00
Chris Lattner
a9d61d59fe Reenable warning now that Chuck fixed GCC
llvm-svn: 1517
2002-01-21 23:15:20 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
881474607d 1. -Winline emits spurious warnings that aren't useful right now
2. Fix the "rebuild everything if I change one file" problem

llvm-svn: 1176
2001-11-07 14:50:58 +00:00
Chris Lattner
7cdcf08645 Add easy way to enable purify support
llvm-svn: 1045
2001-10-30 20:24:08 +00:00
Vikram S. Adve
17c7daff14 Simplify etags command.
llvm-svn: 954
2001-10-22 13:58:22 +00:00
Chris Lattner
bfbbc83298 Change Sources specifier to ExtraSources
llvm-svn: 874
2001-10-18 01:48:09 +00:00
Vikram S. Adve
ce6e006d3c Allow only extra Source files to be listed in a local Makefile.
Needed for automatically generated .cpp files.

llvm-svn: 853
2001-10-17 12:33:55 +00:00
Chris Lattner
38e243d607 Burg files should come out of the Debug Directory for temporary files
llvm-svn: 790
2001-10-14 17:23:55 +00:00
Vikram S. Adve
e4046c66cb Fixed tags target so it only happens at root level.
llvm-svn: 787
2001-10-13 12:26:59 +00:00
Chris Lattner
2367bcef23 Each tools should not make tags
llvm-svn: 730
2001-10-13 05:10:29 +00:00
Vikram S. Adve
664effe5db Added a rule for building TAGS.
llvm-svn: 723
2001-10-10 22:35:00 +00:00
Chris Lattner
8f89f506aa Add support for tool specified linker options
llvm-svn: 527
2001-09-10 04:49:26 +00:00
Chris Lattner
9620879411 Fix automatic dependence on static libs
llvm-svn: 513
2001-09-09 20:59:28 +00:00
Chris Lattner
2e2bdb126d Support TOOLNAME and USEDLIBS options for easier tool building
llvm-svn: 498
2001-09-07 22:57:58 +00:00
Vikram S. Adve
31b7f80c66 Added InstrSched library to link line.
llvm-svn: 386
2001-08-28 21:33:33 +00:00
Vikram S. Adve
287c557098 And add rule to create a .cpp source file from burg input file!
llvm-svn: 345
2001-08-06 19:06:43 +00:00
Vikram S. Adve
830e56e79f Add path and options for burg.
llvm-svn: 343
2001-08-06 19:01:20 +00:00
Vikram S. Adve
df0b7b44af Remove lib/LLC library.
llvm-svn: 314
2001-07-28 04:39:27 +00:00
Vikram S. Adve
f88fee6cfe Added support for getting the dependence of an executable on its libs,
using a variable to get the list of libraries on the link path.
BUG: If the library in the same directory as the executable is missing,
BUG: gnumake will build the library but then fail when linking the executable
BUG: saying the library was not found.  Need a better hack.

llvm-svn: 225
2001-07-21 12:38:14 +00:00
Chris Lattner
56541a781a Compile source files in alphabetical order
llvm-svn: 202
2001-07-18 23:43:37 +00:00
Vikram S. Adve
d988d2fcd1 Changed default to building library archives instead of shared objects.
Added support for compiling *.c files.

llvm-svn: 197
2001-07-15 13:16:47 +00:00
Chris Lattner
d8f5378cf7 Fixed the obnoxious problem that caused an entire directory to rebuild
even if you only change one .cpp file. Yaay

llvm-svn: 97
2001-06-29 05:20:16 +00:00
Chris Lattner
e6b9b382e2 Initial revision
llvm-svn: 2
2001-06-06 20:29:01 +00:00