Subject: [clisp-list] trying to make use of make -n

From: "Hoehle, Joerg-Cyril" <[email-masked]>
Date: Tue Apr 1 06:07:14 2003

Hi,

I have the feeling that CLISP's Makefile does a little too much auto/cyclic-magic/detection/regeneration or whatever. This seems to cause -n to become useless.

How comes that make -n reports lots of things to be done, when the actual make eventually does next to nothing?

build-gcc> make lisp.run              
sh config.status --header=unixconf.h  
config.status: creating unixconf.h    
config.status: unixconf.h is unchanged

compare with

build-gcc> make -n lisp.run                                                              
sh config.status --header=unixconf.h                                                     
gcc -I/home/hoehle/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type
  -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMI
C_FFI -DDYNAMIC_MODULES -x none genclisph.o -o genclisph                                 
(echo '#ifndef _CLISP_H' ; echo '#define _CLISP_H' ; echo ; grep '^#' unixconf.h ; echo ;
 grep '^#' intparam.h ; echo ; ./genclisph ; echo ; echo '#endif /* _CLISP_H */') > clisp
.h                                                                                       
rm -f genclisph                                                                          
gcc -I/home/hoehle/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type
  -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMI
C_FFI -DDYNAMIC_MODULES -c modules.c                                                     
...

[Background: I'm fed up with CLISP regenerating all *.fas/*.mem when they are not needed, while I'm playing with modules. Of course, Makefile cannot know when it's superfluous, so it plays it safe. How can I build a module without having every *.fas/*.mem rebuilt? ]

Thanks,
	Jörg Höhle.

---

From: Sam Steingold <[email-masked]>
Date: Tue Apr 1 06:46:09 2003

> * In message <[email-masked]>
> * On the subject of "[clisp-list] trying to make use of make -n"
> * Sent on Tue, 1 Apr 2003 14:12:59 +0200
> * Honorable "Hoehle, Joerg-Cyril" <[email-masked]> writes:
>
> [Background: I'm fed up with CLISP regenerating all *.fas/*.mem when
> they are not needed, while I'm playing with modules. Of course,
> Makefile cannot know when it's superfluous, so it plays it safe. How
> can I build a module without having every *.fas/*.mem rebuilt? ]

if all you changed is the modules (i.e., not src/*), all you need to do
is

$ rm -rf full && make full
...
$ ./clisp -K full

and this will recompile only the modules that you changed.

-- 
Sam Steingold (http://www.podval.org/~sds) running RedHat8 GNU/Linux
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html>
If you're passed on the right, you're in the wrong lane.