Jonas Fonseca
038f3a4502
Apply the many changes to Makefile.lib in one go
...
This fixes make test dependencies and a lot more things.
2006-01-29 12:41:14 +01:00
Jonas Fonseca
a527afaacf
Make the init target safer, so it won't overwrite subdir Makefiles
2006-01-29 10:41:25 +01:00
Jonas Fonseca
42771c1c64
Be more careful when copying .deps/*.pp files
...
Some systems won't have them and then there will be lots of error messages.
2006-01-29 10:35:31 +01:00
Laurent MONIN
9c767f491f
Upgrade config.charset to latest version from gnu gettext.
2006-01-29 10:27:27 +01:00
Laurent MONIN
92387e4478
Store lib.o name in a variable named LIB_O_NAME.
2006-01-29 10:22:19 +01:00
Jonas Fonseca
4cbaad6f8d
Improve support for running 'make test' when srcdir != builddir
...
Additionally, also make TESTDEPS conditionally contain memdebug object
binary only if CONFIG_DEBUG is yes.
2006-01-10 15:44:29 +01:00
Jonas Fonseca
fa23a65b81
Add support for recursively running all tests
2006-01-10 14:10:08 +01:00
Jonas Fonseca
9debe3b3ae
Move the 'make test' handling to Makefile.lib
...
The test rule is defined when TEST_PROGS is defined. Users should also set
TESTDEPS to get the correct object files linked in.
2006-01-10 14:06:17 +01:00
Jonas Fonseca
b9c5bc5536
Make building of .gmo files use the new build system
...
It now shows:
[GMSGFMT] po/da.gmo 1538 translated messages, ...
2005-12-26 19:17:47 +01:00
Jonas Fonseca
a186c75bd6
Fix cleanall by including $(SUBDIRS-) and $(OBJS-) when INCLUDE_ALL is set
...
This is necessary since some CONFIG_* variables can have no value set.
So this is really a workaround.
2005-12-25 02:15:04 +01:00
Jonas Fonseca
f632b2dfa4
Remove --no-print-directory flag for the recursive make command
...
... it doesn't do the right thing for me w.r.t. resolving compile errors
to file positions in vim.
2005-12-20 23:21:08 +01:00
Miciah Dashiel Butler Masters
00e3af6412
Do not use the -e option to echo, which besides being non-portable is
...
now unnecessary.
2005-12-17 01:18:33 +00:00
Miciah Dashiel Butler Masters
75f21d276c
Use tput instead of hardcoded escape sequences in the make system.
2005-12-17 01:17:26 +00:00
Russ Rowan
959bd2cd30
Don't be quite so silent during make.
2005-12-15 16:04:41 -05:00
Russ Rowan
9960e1a3a1
Clean up 'make install'.
2005-12-15 05:13:42 -05:00
Russ Rowan
42f715f90f
Clean up 'make clean'.
2005-12-15 04:04:26 -05:00
Russ Rowan
01db6af270
Don't print the "Entering..." and "Leaving..." directory messages. It
...
makes the new build system look bad.
2005-12-15 02:59:16 -05:00
Russ Rowan
3c9f192267
Colorize Pasky's build system a bit.
2005-12-15 02:44:15 -05:00
Jonas Fonseca
fa2802385f
Slightly adjust the verbose output of the sparse command
2005-11-24 21:54:49 +01:00
Jonas Fonseca
68d692724c
Add rules to check all .c files with sparse
...
... and things ain't looking too good. Lots of warnings.
2005-11-24 13:24:19 +01:00
Jonas Fonseca
44cf54f0fc
Fix out-of-tree build when srcdir has no Makefile.config
...
By recursively 'bootstrapping' the builddir specific Makefiles we no longer
depend on running make in the srcdir.
The problem was pointed out by zas.
2005-10-26 00:34:13 +02:00
Jonas Fonseca
1c8f2a3d19
Enter all directories and print all Makefiles for 'make list'
2005-10-25 23:41:26 +02:00
Laurent MONIN
9d4ed7ab99
Make some Makefile.lib commands quiet since we use echo.
2005-10-24 14:06:04 +02:00
Jonas Fonseca
9e97a100e2
Introduce 'make cleanall' and run it in the build dir when configuring
...
... but only if Makefile.config exists. cleanall will cause make to enter
even SUBDIR-no dirs and clean OBJS-no files. This should fix the linking
problem report by zas when running:
./configure --enable-fastmem ; make ; \
./configure --enable-debug ; make
2005-10-22 13:25:28 +02:00
Laurent MONIN
7a2735357f
Makefy Makefile.lib even more.
2005-10-21 15:58:36 +02:00
Jonas Fonseca
128ddc77b2
Make lib.o depend on any subdir lib.o so it will be relinked
2005-10-20 20:18:29 +02:00
Jonas Fonseca
db99a74777
Add support for out-of-tree builds
...
Involves prefixing with $(srcdir) to some of the build rule variables. For
the builddir we create Makefiles which simply include the srcdir Makefile.
Add list make rule to get list of Makefiles to generate (find will get it
wrong for builddirs nested in srcdir).
There are still a few minor issues like the file paths echoed during make
install ...
2005-10-20 03:49:40 +02:00
Jonas Fonseca
b72ab2268e
Move RELPATH variable setup to Makefile.config.in and fix srcdir
...
The fix involves detecting of relative vs absolute paths. Should probably
be done at configure time, but keep it dynamic for now.
2005-10-20 03:44:23 +02:00
Jonas Fonseca
81384fbdaa
Make [CC] lines show the .o files
...
This will make more sense for out-of-tree builds, and we already use $@ for
[LD] and [LINK], so ...
2005-10-20 03:41:27 +02:00
Jonas Fonseca
dad4a54232
Fix the magic linking of subdir lib.o files
...
Make will 'expand' all variables at initialization so we cannot rely on
checking subdir/lib.o since it might not have been build yet. Instead
use 'test && echo' on the ld command line.
2005-10-20 03:39:59 +02:00
Laurent MONIN
083bce589c
Use make's internal $(foreach) instead of 'for file in ...' loop
...
Should hopefully fix problems with older make versions (3.79.1, 3.80, and 3.81beta3) reported by zas.
Re-committed.
2005-10-17 15:39:40 +02:00
Jonas Fonseca
ac9c6ce71f
Pass CFLAGS to the linker
...
Fixes problems with compiling in gprof support reported by witek.
2005-10-05 21:42:08 +02:00
Jonas Fonseca
de798a7f37
Copy possible fix from automake
2005-10-03 00:09:35 +02:00
Jonas Fonseca
98ce75f7bf
Introduce *-default family
...
Use it to put stuff which are automatically done, so that *-local now is
truely local.
2005-10-02 23:55:37 +02:00
Jonas Fonseca
daaf61331a
Make installation also use the cmd calling
...
Makes it more obvious which files are actually installed. MKINSTALLDIRS
still spurs out a lot of 'mkdir ...', which probably should also be
silenced when V=0.
2005-10-01 14:16:19 +02:00
Jonas Fonseca
d37ee6db70
Remove redundant RELPATH variable
2005-09-28 23:01:06 +02:00
Jonas Fonseca
8eafb441df
Remove the leading slash from the relative path being printed
...
... pasky likes it not.
2005-09-28 22:54:30 +02:00
Jonas Fonseca
ed2dc18408
Show the relative path in the quiet build lines
...
... so it is easier to figure out where in the tree it's at:
...
[LD] /src/cookies/lib.o
[MAKE all] /src/dialogs
[CC] /src/dialogs/document.c
...
[LINK] /src/elinks
...
which means the user will also get a hint at where the elinks binary
is.
Yeah, yeah, useless bloat, I know. But I have to figure out some way to
get the whole tree build time above 1 minute. ;-)
2005-09-28 21:32:31 +02:00
Jonas Fonseca
bd8f005413
Filter out src from SUBDIRS so we don't link lib.o in the root dir
2005-09-28 12:11:12 +02:00
Jonas Fonseca
c76586e6b8
Simplify the conditional building
...
Use the very cool 'VAR-$(CONFIG_FOO) += foo.o' feature instead of the more
verbose current ifeq($(CONFIG_FOO),yes) wrapping.
2005-09-27 22:49:47 +02:00
Jonas Fonseca
68de9e35d3
Automagically link in subdir lib.o files
...
It is a little ugly since I couldn't get $(wildcard) to expand *.o files
so it just checks if there are any *.c files and then link in the lib.o
based on that.
2005-09-27 22:38:00 +02:00
Jonas Fonseca
1efab31581
Simplify building of and linking with directories
...
Ditch the building of an archive (.a) in favour of linking all objects in a
directory into a lib.o file. This makes it easy to link in subdirectories
and more importantly keeps the build logic in the local subdirectories.
Note: after updating you will have to rm **/*.a if you do not make clean
before updating.
2005-09-27 21:38:58 +02:00
Jonas Fonseca
b30064c0d0
Rename targets: *-l -> *-local
2005-09-27 21:11:28 +02:00
Jonas Fonseca
6a822b5fd9
Fix *-recursive targets for old bash versions
...
Apparently some old bash versions (2.03 atleast) on SunOS is not able to
handle 'for i in $(SUBDIRS); do ... done' when $(SUBDIRS) is empty.
2005-09-27 19:02:09 +02:00
Jonas Fonseca
249fac4345
Tune the clean-l usage
...
- Fix the doc/ clean target which was called clean-local
- Consistently use $(RM)
- Introduce CLEAN variable to make it simpler to costumize local cleaning
2005-09-27 18:27:17 +02:00
Jonas Fonseca
e8a17b97db
Indent the output of CC and LINK
...
Use indentation to align directory and .c file names in the output (for
make all) so it is easier to distinguise lines.
2005-09-17 14:41:51 +02:00
Petr Baudis
3b6c3cc5b4
Fix dependencies tracking and default clean rule.
2005-09-16 13:48:22 +02:00
Petr Baudis
c404ead42c
Pass $LIBS to the linker
2005-09-16 13:13:43 +02:00
Petr Baudis
204bbe5d2c
Fix starting a build from a subdirectory ELBuild-wise
...
Now all the submakefiles contain informationa buot where in the directory
hierarchy they stay.
2005-09-16 02:07:36 +02:00
Petr Baudis
fffc573769
Use all-l,install-l,clean-l targets in individual makefiles and let
...
Makefile.lib multiplex the real ones. That's so that the -recursive
ones always come first.
2005-09-16 00:52:54 +02:00