help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

File only generated every 2nd run of make


From: Tassilo Horn
Subject: File only generated every 2nd run of make
Date: Mon, 26 Jan 2015 08:30:38 +0100
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux)

Hi all,

I use GNU Gnus from git

  https://git.gnus.org/gnus.git

which I updated daily with

  cd gnus/
  git pull && make

Since recently, when I start emacs I get the error

  File error: Cannot open load file, no such file or directory,
  gnus-load

and indeed, there's no gnus/lisp/gnus-load.el.

When I run make a second time, the gnus-load.el file is generated just
fine.  With another make, gnus-load.el is deleted first but not
regenerated again.

The problem is that gnus/lisp/Makefile's default "all total" target
depends on the targets clean-some and gnus-load.el, where gnus-load.el
is the target that generates lisp/gnus-load.el.

When I do that on the command line, I first get

  % make clean-some gnus-load.el
  rm -f *.elc gnus-load.el auto-autoloads.* custom-load.*
  lispdir="/home/horn/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q
-no-site-file -l ./dgnushack.el -f dgnushack-make-cus-load .
  ...
  Generating autoloads for assistant.el...
  ...
  Saving file /home/horn/Repos/el/gnus/lisp/gnus-load.el...
  ...

which is all fine.  But when I do it again, I get

  % make clean-some gnus-load.el
  rm -f *.elc gnus-load.el auto-autoloads.* custom-load.*
  make: 'gnus-load.el' is up to date.

Huh?  How can gnus-load.el be up to date?  You've just deleted it...

What I can do is renaming the target gnus-load.el to something else,
e.g., gnus-load.elx, and then "make clean-some gnus-load.elx" will
always delete and regenerate the gnus-load.el file as intended.

I'm using GNU Make 4.1 which I updated on 6th November which could be
the beginning of the problem.  So maybe that version of make behaves
differently when there are targets that are named like a file?

Bye,
Tassilo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]