1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
Commit Graph

243 Commits

Author SHA1 Message Date
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