Commit Graph

139 Commits

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