Re: problem with GNU make

2007-02-09 Thread Jon Grant

Hi,

[EMAIL PROTECTED] elucidated on 08/02/07 21:53:
i have some old (circa 1997) makefiles which run fine on current UNIX systems 
with their versions of make. if i run gnu make as make -n then GNU make shows 
the commands that will be executed just fine however, when i actually issue 
the make command then none of the commands as reported via make -n are 
actually executed.


is this a known problem; is there a workaround ?


Sounds like a configuration problem, just an idea, but are you setting 
SHELL?


Are you running GNU Make v3.81 ? Perhaps you can try with that latest 
release.


If you can post a small reproducible test case, telling us your OS, 
shell and make version we could help a bit more.


Best regards
Jon
--
Weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: BUG while running the make file

2007-02-10 Thread Jon Grant



Raheja, Himanshu elucidated on 09/02/07 20:12:

Hi Folks..!!

I am sorry to bug you again..
This should be the last one...

I was able to successfully run LPRng3.8.28 on my RED Hat Linux 4.4.
But as my company is already using 3.6.9d version and to avoid some
problems I am compiling the code for 3.6.9d

After running the configure script I am making changes to makefile by
setting the CFLAGS and LDFLAGS = -m32.

Then I run make install
I get following error messages :(Please help and le me know what
needs to be done, I will be grateful ..as always.. :) )


Your build isn't finding the includes. Are you building from a different 
directory than where "common" exists? does LPRng supply any 
documentation about building it?


Perhaps you can speak to LPRng maitainers, this isn't a compiler support 
mailing-list. (you need to hire me to get that, hehe ;)


Kind regards
Jon
--
Weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: make problems

2007-03-02 Thread Jon Grant

Hi,

Turbo-parts elucidated on 01/03/07 22:03:
Hello, allways no targets specified and no makefile found. stop.  


how can i change ?


Sounds like you have a problem with your project + build, check if there 
is a "Makefile" in the directory; or explain the problem to the person 
who provided you with the project.


Kind regards
Jon
--
http://jguk.org/2007/02/email-101-rules-for-great-unwashed.html


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: running make 3.81 tests on Mac OS X : was (no subject)

2007-03-21 Thread Jon Grant

Hi Thomas,

thanks for your email. The key part of the make 3.81 testsuite log is this:

features/default_names .. Error
running /Users/thomas/Desktop/tmp/make-3.81/tests/../make (expected 0;
got 512): /Users/thomas/Desktop/tmp/make-3.81/tests/../make
ok (4 passed)

I don't know of a problem in this area.  Does anyone else?

Thomas: Could you send that specific diff file in the work dir to this
mailing list please? (or send the group if you cant figure out which
to send)

Regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


33 make check failures on Ubuntu Linux

2007-04-22 Thread Jon Grant

Hello.

I just ran make check and got 33 failures. I'm running make 3.81, on a 6 
month old Ubuntu Linux install.


They are all the same issue, the extra space. Not sure where the extra 
space comes from, is anyone else seeing this?


Kind regards
Jon

*** work/features/include.base.22007-04-22 14:32:36.0 +0100
--- work/features/include.log.2 2007-04-22 14:32:36.0 +0100
***
*** 1 
! make: *** No rule to make target `foo.mk', needed by `error'.  Stop.
--- 1 
! make: *** No rule to make target `foo.mk', needed by `error'. Stop.



cd tests && perl ./run_make_tests.pl -make ../make
--
   Running tests for GNU make on Linux now2g 2.6.17-10-generic i686
GNU Make 3.81
--

Finding tests...

features/comments ... ok (1 passed)
features/conditionals ... ok (4 passed)
features/default_names .. ok (3 passed)
features/double_colon ... ok (10 passed)
features/echoing  ok (4 passed)
features/errors . ok (2 passed)
features/escape . FAILED (4/6
passed)
features/export . ok (10 passed)
features/include  FAILED (6/7
passed)
features/mult_rules . FAILED (1/2
passed)
features/mult_targets ... ok (2 passed)
features/order_only . ok (10 passed)
features/override ... ok (1 passed)
features/parallelism  ok (6 passed)
features/patspecific_vars ... ok (7 passed)
features/patternrules ... ok (5 passed)
features/quoting  ok (1 passed)
features/recursion .. ok (2 passed)
features/reinvoke ... ok (4 passed)
features/se_explicit  ok (5 passed)
features/se_implicit  ok (8 passed)
features/se_statpat . ok (4 passed)
features/statipattrules . ok (8 passed)
features/targetvars . ok (20 passed)
features/varnesting . ok (1 passed)
features/vpath .. ok (1 passed)
features/vpath2 . ok (1 passed)
features/vpathgpath . ok (1 passed)
features/vpathplus .. ok (4 passed)
functions/abspath ... ok (1 passed)
functions/addprefix . ok (1 passed)
functions/addsuffix . ok (2 passed)
functions/andor . ok (2 passed)
functions/basename .. ok (1 passed)
functions/call .. ok (2 passed)
functions/dir ... ok (1 passed)
functions/error . FAILED (0/5
passed)
functions/eval .. FAILED (8/9
passed)
functions/filter-out  ok (1 passed)
functions/findstring  ok (1 passed)
functions/flavor  ok (1 passed)
functions/foreach ... FAILED (2/4
passed)
functions/if  ok (1 passed)
functions/join .. ok (1 passed)
functions/notdir  ok (1 passed)
functions/origin  ok (1 passed)
functions/realpath .. ok (2 passed)
functions/shell . ok (2 passed)
functions/sort .. ok (1 passed)
functions/strip . ok (2 passed)
functions/substitution .. ok (3 passed)
functions/suffix  ok (1 passed)
functions/value . ok (1 passed)
functions/warning ..

Re: running make 3.81 tests on Mac OS X : was (no subject)

2007-04-22 Thread Jon Grant

File the bug report at this page:

http://savannah.gnu.org/projects/make/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: running make 3.81 tests on Mac OS X : was (no subject)

2007-04-22 Thread Jon Grant

Hi Thomas,

Thanks for replying with the logs.

default_names tests that Make looks for default makefiles in the correct 
order (GNUmakefile,makefile,Makefile). read.c:229  { "GNUmakefile", 
"makefile", "Makefile", 0 };


I suggest you file a bug report, I can't spot why why the sequence of 
tests looses the "makefile" before it has chance to make use of it.


Please include the output you see when you run "make" in a directory 
containing the attached "Makefile" and "makefile".


Then delete the "makefile" and run "make" again in the directory with 
only the "Makefile" still present. Also attaching those logs, and the 
output of ./run_make_tests -debug


Please include in the bug report how reproducible this is. Hopefully 
someone with a Mac OS X machine can take a look.


Kind regards
Jon
--
Weblog: http://jguk.org/
THIRD: ; @echo It chose MakefileSECOND: ; @echo It chose makefile___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: 33 make check failures on Ubuntu Linux

2007-04-28 Thread Jon Grant

Hi Pau. Thanks for your reply.


Please be sure that your LC_ALL and/or LANG variables are set to "C"
before running make check.  I thought that I had modified this inside
the Perl scripts that drive the tests, but apparently I didn't get it
right; there was a bug report about it (this has been fixed in CVS now
though).


From bash I needed to do both:
$ export LC_ALL=C
$ export LANG=C

However, I still saw three test failures, (these failures are not in the 
latest CVS 3.81.90 build I should add).


--
   Running tests for GNU make on Linux now2g 2.6.17-10-generic i686
GNU Make 3.81
--
[...]
features/vpathplus .. FAILED (2/4 
passed)

[...]
options/dash-W .. FAILED (9/10 
passed)

[...]
options/general . ok (1 passed)
options/symlinks 
*** Test died (options/symlinks): scripts/options/symlinks: 22 -> 
test_driver.pl: 915: Couldn't touch dep: Too many levels of symbolic links



Could this message below be updated to remind that "make update" is 
needed to download the po files?


make[4]: Entering directory `/home/now3d/maketest/make/po'
File be.po does not exist. If you are a translator, you can create it 
through 'msginit'.





If that fixes the problem, I'm interested to see what locale you were
using before... it seems odd to me that someone would make a translation
that changes the string ".  Stop." to ". Stop." (if you look at the
fatal() function in misc.c you'll see where this string comes from).


[EMAIL PROTECTED]:~/maketest/make$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=ja_JP.UTF-8
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Kind regards
Jon
--
Weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Build warnings in CVS make 3.81.90

2007-04-28 Thread Jon Grant

Hello,

I noticed a few build warnings in CVS at present. Difficult to spot a 
lot of the causes as there are many pre-processor macros in use.


A wider query relating to these warnings is that since make 3.81 is 
released now, could we change make to use const's instead of #define'd 
values, and inline functions instead of #define macro expressions? Would 
a patch be accepted to change over such pre-processor expressions into 
native code?


Regards, Jon


file.c: In function 'file_timestamp_cons':
file.c:765: warning: comparison of unsigned expression < 0 is always false
file.c:766: warning: comparison between signed and unsigned
file.c:766: warning: comparison of unsigned expression < 0 is always false
file.c:769: warning: comparison of unsigned expression < 0 is always false

^^ Looks like the last arg, "int ns" doesn't need to be signed.

function.c: In function 'func_lastword':
function.c:696: warning: 'p' may be used uninitialized in this function
function.c: In function 'func_shell':
function.c:1597: warning: variable 'error_prefix' might be clobbered by 
'longjmp' or 'vfork'
function.c:1589: warning: argument 'o' might be clobbered by 'longjmp' 
or 'vfork'



main.c: In function 'main':
main.c:1825: warning: comparison of unsigned expression < 0 is always false
main.c:2152: warning: comparison of unsigned expression < 0 is always false

remake.c: In function 'update_file_1':
remake.c:436: warning: comparison of unsigned expression < 0 is always false
remake.c: In function 'notice_finished_file':
remake.c:869: warning: comparison of unsigned expression < 0 is always false
remake.c: In function 'f_mtime':
remake.c:1240: warning: comparison of unsigned expression < 0 is always 
false

remake.c:1253: warning: comparison of unsigned expression < 0 is always fa


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Ayundema por favor, Help me please

2007-05-17 Thread Jon Grant

Hi Ricardo,

You can download from here: ftp://ftp.gnu.org/gnu/make  or your local mirror.

Then just do the usual:
$ ./configure;make;make install

Or your distro might have a package you can use, ask them and find out!

Kind regards, Jon
--
weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Make fails on glibc build

2007-05-18 Thread Jon Grant

Hi.

[EMAIL PROTECTED] wrote on 18/05/07 15:08:

I rebuilt it and the error came again. Using make from cvs 20070511, binutils 2.17.50.20070518 from 
cvs, glibc from cvs 20070518, gcc-4.2.0, kernel 2.6.21.1,  i686 (make 3.81 works). Using CFLAGS 
"-march=pentium4 -O2 -pipe -fomit-frame-pointer -s" and configure "--prefix=/tools 
--disable-nls --disable-dependency-tracking --infodir and --mandir".
make -d gives me:

   Trying rule prerequisite `subdir_lib'.
make: file.c:147: enter_file: Assertion `*name != '\0'' failed.
Reaping losing child 0x0807f1b8 PID 9716
make: *** [all] Aborted
Removing child 0x0807f1b8 PID 9716 from chain.

Because I disabled debug for make I rebuilt it with standard CFLAGS. But how 
can I help you to solve the problem?
Never worked with a debugger yet.


Do you mean you have never worked with a debugger?

I'm not certain, but that assertion should then call abort(), which 
means a core file will be dumped.  (Just do ulimit -c 5  in your 
shell before you run make, to be sure core files are not disabled on 
your distro).


then you can do gdb -c core.xxx -se /path/to/make

then "bt" to get the backtrace of the assert.

Cheers, Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Make fails on glibc build

2007-05-19 Thread Jon Grant

Hi Alexander,

Thanks for getting back to us with that backtrace.  Unfortunately the 
debug symbols seem to be missing. I tried to get more info out myself of 
your core file, but without the CVS binary I just get:


Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
Core was generated by `make -r PARALLELMFLAGS= CVSOPTS= -C ./libc 
objdir=/tmp/bla/glibc-cvs-build all'.

Program terminated with signal 6, Aborted.
#0  0xe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xe410 in __kernel_vsyscall ()
#1  0x4005091b in ?? ()
(gdb)

Could you rebuild make-cvs with CFLAGS=-g3 please. And then launch again 
using the /tmp/make-cvs/make/make  binary directly (in case it is being 
stripped when it is being installed on your system). I wonder what 
configuration options and you built with, because I though NDEBUG is on 
the standard make build, which would mean assert() would compile out.


Then do: gdb -c core -se /tmp/make-cvs/make/make

Then "bt" as before, it should have managed to load the symbols by then. 
I don't know what distro you are running, but my Ubuntu has packagte 
suffixed with -dbg, like "libc6-dbg" which can be installed, then all 
the libc methods will have names.


I wonder about this  /tools/lib/libc.so.6 file in your backtrace though. 
I've not seen such a library path myself, what distro, version and CPU 
are you running on? Linux From Scratch...?  If so, perhaps you try 
reproduce the problem on an existing stable released distro like Ubuntu 
you have on another PC.


Let us know how you get on.
Kind regards, Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Build warnings in CVS make 3.81.90

2007-05-20 Thread Jon Grant

Hi,

Paul Smith wrote on 11/05/07 20:15:

On Sat, 2007-04-28 at 15:26 +0100, Jon Grant wrote:

A wider query relating to these warnings is that since make 3.81 is 
released now, could we change make to use const's instead of #define'd 
values, and inline functions instead of #define macro expressions?


No... well, at least not inline.  While I have made the decision to no
longer support pre-ANSI, K&R-only compilers as of 3.82, I'm still
requiring ANSI C89 clean code, and inline is not valid C89.


Ok, well just a change to functions (not using the inline keyword) then.
(Compilers tend to make their own mind up anyway on inlining in my
experience anyway) -- Would you consider patches which replaced macros with
functions?


Const integers are legal of course, but I don't know that they really
add much clarity.


One benefit is the code you see is the code that was compiled. Macros
can be replaced during pre-processing and code editors may not visualise
the value as it ended up being compiled. Also we get types on the thing
being defined etc. My programming books probably have more rational 
examples.



file.c: In function 'file_timestamp_cons':
file.c:765: warning: comparison of unsigned expression < 0 is always false
file.c:766: warning: comparison between signed and unsigned
file.c:766: warning: comparison of unsigned expression < 0 is always false
file.c:769: warning: comparison of unsigned expression < 0 is always false


I haven't looked at these in a while, but the last time I looked this
warning was actually an integral part of the implementation of these
macros.  In other words, if you fixed the warnings the macros wouldn't
work as designed anymore.  You might look in the ChangeLog.  Paul Eggert
provided these macros so we'd need to discuss any changes with him.


Ok, I'll take a look when I get time.

Kind regards, Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Error in kernel module

2007-05-24 Thread Jon Grant

Hi Ajay,


" This program is built for i686-redhat-linux-gnu
report bugs to 


Isn't that just the standard output ? You can see that text on "make --help"


make *** [all] Error2 "


This is the actual error. As you've not included the full output it is 
not clear what the problem is with your setup (or environment).



could you please let me know what is the issue.


Post again with some more information and we can try help. 
Alternatively, can you compare your makefile with a working one from a 
different kernel module? Just go through it line-by-line.


Kind regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: gnumake[1]: execvp: /bin/sh: The parameter or environment lists are too long

2007-08-11 Thread Jon Grant

Hi,

[EMAIL PROTECTED] wrote on 10/08/07 21:33:

gnumake[1]: execvp: /bin/sh: The parameter or environment lists are too
long.
gnumake[1]: *** [clean] Error 127


I've not seen this myself, looks like a hard coded system limit. is the 
environment list longer than 32KB?


Too allow someone to look further, please provide steps to reproduce, 
including makefile, OS and make --version info.


Kind regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Adding Makefile.mak to default file names searched

2007-08-18 Thread Jon Grant
Could we considering adding Makefile.mak to the default filename
permutations which are looked for?

rationale:
I often see Makefiles which are called Makefile.mak, because that is
the extension of other make(s) on different OSs. Also it is more
convenient on Windows because then it can be associated with a text
file editor, when there is no extension it's necessary to manually
open it.

Kind regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: gnumake[1]: execvp: /bin/sh: The parameter or environment lists are too long

2007-08-19 Thread Jon Grant
Would it be an idea to include the ARG_MAX size in the error message (if 
that is generated by make? function.c:1738 func_shell). And even include 
a copy of the text and environment when running in debug mode?


I had to breakup a codebase into several libraries to overcome the 
command-line/enviroment limit previously myself.


Kind regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bonjour

2007-09-23 Thread Jon Grant

Hi.

You've emailed the GNU Make mailing list, you can get help about the qt 
and qtbittorrent package from your provider.


However, your email included many of the possible answers to the problem 
you are having with Qt, like setting $QTDIR correctly and reading the 
conf.log. I suggest you verify all those points before mailing the same 
info to another mailing list.


Kind regards, Jon
--
linkme: http://www.linkedin.com/in/jongrant
weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: possible memory leak in make 3.81

2007-10-14 Thread Jon Grant



Paul Smith wrote on 14/10/07 17:39:

On Sun, 2007-10-14 at 20:40 +0800, Zhongxing Xu wrote:
In function library_search(), 
libpatterns and buf is malloced memory in line 1486 and 1553

respectively.
They are not freed. 
Is this true?


Correct, they are not freed--but no, this is not a memory leak.  These
variables are declared static so the next time the function is invoked
they still point to that same memory buffer.  This is just a way to
avoid allocating/freeing a local memory buffer over and over.


Do they get free'd up when make exits? Would be neater to cleanup any 
heap allocations, IMHO. Makes it less cloudly when tracking other 
memory-leaks as well.


Cheers, Jon
--
linkme: http://www.linkedin.com/in/jongrant
weblog: http://jguk.org/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: possible memory leak in make 3.81

2007-10-15 Thread Jon Grant

Hi there,

Paul Smith wrote on 14/10/07 22:17:

On Sun, 2007-10-14 at 18:33 +0100, Jon Grant wrote:

Do they get free'd up when make exits?


No.  It's quite difficult to do this since the variables are static and
so are only visible within that function.  In order to free them we'd
have to add them to some kind of global free list that could be walked
when make was exiting.  This will take time when all we want to do is
exit... and anyway, the operating system will take care of cleaning that
up when we exits.


the OS should cover that, but in some case I wonder if there may be a
leak left. Would the DOS version for instance result in lost memory the
OS cannot reallocate? (I'm not a DOS expert to answer that)

I'm confident that running such cleanup code wouldn't add a performance
cost.


Would be neater to cleanup any heap allocations, IMHO. Makes it less
cloudly when tracking other memory-leaks as well.


I don't think this is a real issue; all the tools I've used for this,
including things like Purify as well as free tools like Valgrind, only
count memory as lost if there's nothing pointing to that memory anymore.
Since this memory still has valid pointers to it, it's not a problem.

Are there particular tools that you are thinking of that run into this?


Devpartner's boundschecker shows up such heap allocations in its log as
"allocations outstanding on program exit" (or some such similar
description).

BTW, I wonder if you run all the different tests in the testsuite
through valgrind? An automated way of doing that would be really handy I
think.. I did that for a client recently.

Regards, Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: gcc error upon trying to compile the open source prorex-1.3

2007-10-19 Thread Jon Grant

Please see my other reply. You only need to email the mailing list once!

Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: prorex-1.3 make bug

2007-10-19 Thread Jon Grant

Hi,

[...]
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: 
prorex.o: relocation R_X86_64_32 against `a local symbol' can not be 
used when making a shared object; recompile with -fPIC

prorex.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libprorex.so] Error 1


That isn't an issue with Make. There is a linker error, re-read the 
message you quoted above and you ill see it tells you what the problem 
is and how to fix it! Always read things thoughtful before posting to 
mailing lists ;) If that doesnt fix it, contact the libprorex developers 
who provided you with the source code.


Kind regards
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


GNU Make read from makefile.mak files?

2009-07-15 Thread Jon Grant
Hello

I see a lot of projects name their makefiles "makefile.mak" or even
"makefile.mk". microsoft NMAKE uses makefile.mak as well.

It would be a change, but would GNU Make consider searching for
"makefile.mak" as well as the usual "GNUMakefile" "Makefile" and
"makefile"?

I'm not on this list, so please include my email address in any replies.

Best regards, Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


including makefile name and line number for shell_function_completed

2010-07-31 Thread Jon Grant
Hello

I am using make 3.81 built for MinGW.

How easy to output the Makefile.mak:line for each command that fails to start?

I saw this function is what outputs the error, but not sure how to get
file and line number info. Any ideas?

Thanks, Jon

shell_function_completed

if (werr)
  fprintf(stderr, "make (e=%d): %s",
  exit_code, map_windows32_error_to_string(exit_code));

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


makefile target "all:" not built automatically

2011-04-26 Thread Jon Grant
Hello

I noticed that the "all:" target must be at the top of a makefile,
unless explicitly built by "make all". Is this expected? It seems
quite limiting..

I'm running GNU Make 3.81, built for Windows32.

Please retain my email address in any replies.

Best regards, Jon


Output:

C:\>make
system target

C:\>make all
system target
all target

C:\>

=
save the following text as "makefile" in an empty folder.


# Simple makefile example

.PHONY: system

system:
@echo system target


all: system
@echo all target

# End simple makefile example

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: makefile target "all:" not built automatically

2011-04-26 Thread Jon Grant
Hello Paul

On 26 April 2011 13:34, Paul Smith  wrote:
> On Tue, 2011-04-26 at 13:31 +0100, Jon Grant wrote:
>> I noticed that the "all:" target must be at the top of a makefile,
>> unless explicitly built by "make all". Is this expected? It seems
>> quite limiting..
>
> There is nothing special about the "all" target.  That's just a
> convention that many, but not all, makefile authors use.  Make itself
> doesn't treat the "all" target, if it exists, in any special way.
>
> The GNU make manual says:
>
>>    The order of rules is not significant, except for determining the
>> "default goal": the target for `make' to consider, if you do not
>> otherwise specify one.  The default goal is the target of the first
>> rule in the first makefile.

Thank you for this. Could the text be updated to confirm that "the
target all: does not need to be the default target, this is a
convention that many, but not all, makefile authors use. Make itself
does not treat the "all" target, if it exists in a special way."

I could not find a mention of the "all" target in manual sections.

Perhaps it could even be mentioned in this chapter that "all" is not a
special target:

http://www.gnu.org/s/hello/manual/make/Special-Targets.html

Best regards, Jon

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Short option for make --warn-undefined-variables

2011-05-06 Thread Jon Grant
Hello

Could a short option be added for the following make option please?

  --warn-undefined-variables  Warn when an undefined variable is referenced.

 I propose -u

Please keep my email address in any replies.

Best regards, Jon

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


makefile line number when errors

2011-05-06 Thread Jon Grant
Hello

I am interested to know if anyway to see the line number in the
output. I've got some huge makefiles, and is hard to track down the
line with the error sometimes. I include an example below.

On Windows this looks like:

c:\>make -f test.mk
unknown-exe
process_begin: CreateProcess(NULL, unknown-exe, ...) failed.
make (e=2): The system cannot find the file specified.
make: [build] Error 2 (ignored)


On GNU+Linux this looks like:

$ make -f test.mk
unknown-exe
make: unknown-exe: Command not found
make: [build] Error 127 (ignored)




Would be great if it could output:

"make: test.mk:5 unknown-exe: Command not found"


Not really sure why, but the - on the beggining of the "-unknown-exe"
seems to cause the error to be (ignored).

Please keep my email address included in any replies.

Best regards, Jon




# example makefile

build:
-unknown-exe

#end example makefile

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: makefile line number when errors

2011-05-06 Thread Jon Grant
On 6 May 2011 16:25, Eli Zaretskii  wrote:
>> Date: Thu, 5 May 2011 22:30:04 +0100
>> From: Jon Grant 
>>
>> c:\>make -f test.mk
>> unknown-exe
>> process_begin: CreateProcess(NULL, unknown-exe, ...) failed.
>> make (e=2): The system cannot find the file specified.
>> make: [build] Error 2 (ignored)
>>
>>
>> On GNU+Linux this looks like:
>>
>> $ make -f test.mk
>> unknown-exe
>> make: unknown-exe: Command not found
>> make: [build] Error 127 (ignored)
>>
>>
>>
>>
>> Would be great if it could output:
>>
>> "make: test.mk:5 unknown-exe: Command not found"
>
> It can't do that without losing important functionality.  Unlike Unix,
> Windows has too many subtle ways of invoking programs that Make
> doesn't support (e.g., via file association).  By passing the command
> through CreateProcess, we give the OS the last chance to run the
> command if it knows how.  If it doesn't, you will see this text, which
> comes from the error code 2.
>
> Why does the exact text bother you?  Are you perhaps working with some
> script that makes unduly stringent assumptions about Make error
> messages?  It shouldn't: the exact error messages are system
> dependent.

Sorry, perhaps I was unclear. I am interested in the "test.mk:5" text.
I don't mind the specific details or error code which is output later
in the line. Just the line number is my request.

I would like to track down the line in a makefile which has an issue.
In the same way that my C compiler outputs file and line information
when it has a build error.

Best regards, Jon

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: makefile line number when errors

2011-05-06 Thread Jon Grant

Hello

Eli Zaretskii wrote, On 06/05/11 21:23:

Date: Fri, 6 May 2011 21:01:24 +0100
From: Jon Grant
Cc: bug-make@gnu.org

Sorry, perhaps I was unclear. I am interested in the "test.mk:5" text.
I don't mind the specific details or error code which is output later
in the line. Just the line number is my request.


Sorry for my misunderstanding.

Does the --trace switch do what you want?


I typed "make --trace -f test.mk" but it did not work. Sorry, perhaps I 
have miss-understood how to set this option? Perhaps there is an FAQ. I 
looked in the Make manual.


I also tried "make -d -f test.mk" but that did not print line numbers.

Best regards, Jon

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: debug report for murphi script

2006-07-19 Thread Jon Grant



On 19/07/06 14:17, [EMAIL PROTECTED] wrote:

Dear Sir/Madam,

the attached file is the error i got when "make" the murphi script named
rrp.m i can not get the rrp.c and i got message says limited range of data
type.

please advice me how to debug this type of error.


===
/usr/etc/Murphi3.1/include/mu_system.C:728: warning: comparison is 
always false due to limited range of data type

make: *** [rrp] Error 1
===

The type is probably being checked for a size bigger than it is.

like: if(boolvar > -1)   or some such situation with an int or float etc.

You may like to speak to the people who provided you with the source code.

Kind regards
JG
--
WWW: http://jguk.org/
IM: [EMAIL PROTECTED]
ICQ: 11122941


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: 3.81 and windows paths

2006-07-27 Thread Jon Grant

Hi!

On 27/07/06 20:50, Bob Rossi wrote:

Hi,

Is it true that 3.81 does not work with windows paths?
If so, what is the solution now? I need to use the unix path 
interally to make, and use the windows path only when compiling

with cl?


Could you be a little more specific with what you mean by "windows 
paths"? Spaces are often an issue with MS-Windows filenames, is that 
what you mean?


README.W32 contains info about the Win32 port. Here is the section on 
pathnames etc:



Pathnames and white space:

Unlike Unix, Windows 95/NT systems encourage pathnames which
contain white space (e.g. C:\Program Files\). These sorts of
pathnames are legal under Unix too, but are never encouraged.
There is at least one place in make (VPATH/vpath handling) where
paths containing white space will simply not work. There may be
others too. I chose to not try and port make in such a way so
that these sorts of paths could be handled. I offer these
suggestions as workarounds:

1. Use 8.3 notation. i.e. "x:/long~1/", which is actually
   "x:\longpathtest".  Type "dir /x" to view these filenames
   within the cmd.exe shell.
2. Rename the directory so it does not contain white space.

If you are unhappy with this choice, this is free software
and you are free to take a crack at making this work. The code
in w32/pathstuff.c and vpath.c would be the places to start.

Pathnames and Case insensitivity:

Unlike Unix, Windows 95/NT systems are case insensitive but case
preserving.  For example if you tell the file system to create a
file named "Target", it will preserve the case.  Subsequent access to
the file with other case permutations will succeed (i.e. opening a
file named "target" or "TARGET" will open the file "Target").

By default, GNU make retains its case sensitivity when comparing
target names and existing files or directories.  It can be
configured, however, into a case preserving and case insensitive
mode by adding a define for HAVE_CASE_INSENSITIVE_FS to
config.h.W32.

For example, the following makefile will create a file named
Target in the directory subdir which will subsequently be used
to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET.
Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link
will not be made:

subdir/Target:
touch $@

SUBDIR/DepTarget: SubDir/TARGET
cp $^ $@

Reliance on this behavior also eliminates the ability of GNU make
to use case in comparison of matching rules.  For example, it is
not possible to set up a C++ rule using %.C that is different
than a C rule using %.c.  GNU make will consider these to be the
same rule and will issue a warning.

SAMBA/NTFS/VFAT:

I have not had any success building the debug version of this
package using SAMBA as my file server. The reason seems to be
related to the way VC++ 4.0 changes the case name of the pdb
filename it is passed on the command line. It seems to change
the name always to to lower case. I contend that the VC++
compiler should not change the casename of files that are passed
as arguments on the command line. I don't think this was a
problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.

The package builds fine on VFAT and NTFS filesystems.

Most all of the development I have done to date has been using
NTFS and long file names. I have not done any considerable work
under VFAT. VFAT users may wish to be aware that this port of
make does respect case sensitivity.

FAT:

Version 3.76 added support for FAT filesystems. Make works
around some difficulties with stat'ing of files and caching of
filenames and directories internally.
===

--
WWW: http://jguk.org/
IM: [EMAIL PROTECTED]
ICQ: 11122941


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Tiny project to play with gmake ?

2006-11-16 Thread Jon Grant
Hi,

Why not build GNU Make? ;)

Cheers
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: plzzzzzzzzzz help

2006-11-28 Thread Jon Grant
Hello

Not sure what would cause your problem, we would need to see a complete
log your commands to give a suggestion.

You have come through to the GNU Make mailing list, rather than the
Nagios team. Perhaps you can contact the Nagios project team, their
website is http://nagios.org/

Cheers
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: [bug #18396] stack size setrlimit call interacts badly with Solaris/x86 kernel bug

2006-11-29 Thread Jon Grant
Hi,

Paul D. Smith elucidated on 29/11/06 02:27:
[...]
> Finally, there is no way to detect an out of stack error and exit gracefully
> with a warning as you suggest: the behavior of alloca() is undefined if you
> run out of stack space (it doesn't just return NULL as malloc() etc. do).

Is it undefined in actuality though? Has anyone checked if NULL does get
returned from any implementations? (I'm surprised alloca()
implementations didn't end up getting NULL returned in implementations
over the years. The GLIBC Manual indicates a fatal signal is generated
from its implementation:

http://www.gnu.org/software/libc/manual/html_node/Disadvantages-of-Alloca.html

My view would be that on modern computers switching to allocate from the
heap wouldn't make a big difference if it were changed. Modern heaps
have pools for small allocations to stop them fragmenting larger
allocations anyway. Someone would need to do a compressive test to know
for sure, these things often have knock on effects.. I've seen massive
slowdowns when someone switched malloc() to calloc() on MS-Windows!

Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: can't get far if file has difficult name

2006-11-30 Thread Jon Grant
Hi

Dan Jacobson elucidated on 30/11/06 17:14:
> $ cat Makefile
> .PRECIOUS:.%.time
> %.t:.%.time;
> .%.time:%
>   bla bla bla
> $ ls -1
> Makefile
> 霧峰-桐林(有經朝陽科技大學) - Wufeng-Tonglin (Via Zhaoyang Technical University)
> 
> Well, no amount of quoting will enable me to
> $ make '霧峰-桐林(有經朝陽科技大學) - Wufeng-Tonglin (Via Zhaoyang Technical 
> University)'.t
> make: *** No rule to make target ...

If those Asian characters are a filename you need to specify -f filename
 when you call make if you would like to process that file.

Otherwise if you would like to process your "Makefile" Just call "make"
with no arguments.

Cheers
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: can't get far if file has difficult name

2006-11-30 Thread Jon Grant

Martin Dorey elucidated on 30/11/06 21:32:
> Isn't this more relevant?  (Quoting from here on.)

Yeah, Looking at it again I can see that's likely the problem.
Jon


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make