1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
Commit Graph

83 Commits

Author SHA1 Message Date
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
Petr Baudis
833770a5f7 Implicit recursiveness and clean rule
All objects defining $(OBJS) will get them and *.a deleted during
make clean.

The all, clean and install rules now implicitly imply their -recursive
counterparts - those will just do nothing in case of $(SUBDIRS) not
defined, so that's ok.
2005-09-15 23:28:56 +02:00
Petr Baudis
06ea255a22 Convert part of the build to the new build system
The root makefile is converted as well as some leaf Makefiles. This
also brings in the required infrastructure and adjusts configure.in
appropriately.

I converted only makefiles containing no configurable stuff, since
that'll require more consideration yet.
2005-09-15 21:03:56 +02:00