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