Hi All.

As maintainer of the Hamlib project I am working on a reported issue
involving the installed version of make in the distribution.  I have
verified the issue locally.  The failure is:

Making all in src
make[1]: don't know how to make ./hamlibdatetime.h. Stop

make[1]: stopped in /home/larry/Hamlib/src
*** Error code 1

Stop.


Which doesn't leave a lot to go on.  I've used various debugging queries
of this make but it simply never processes the rule as near as I can
determine.  It's as though this make doesn't see a valid rule stanza.

In our Makefile.am 
(https://github.com/Hamlib/Hamlib/blob/master/src/Makefile.am)
there is the line:

BUILT_SOURCES = $(builddir)/hamlibdatetime.h

hamlibdatetime.h is also first in the variable that holds all of the
source files for this directory.

Further down is the rule:

# If we have  a .git directory then we will  generate the hamlibdate.h
# file and  replace it if it  is different. Fall  back to a copy  of a
# generic hamlibdatetime.h.in in the source tree. Build looks in build
# directory  before  the  source directory  for  the  hamlibdatetime.h
# header.
hamlibdatetime.h: FORCE
        @if test -x $(top_srcdir)/.git ; then \
                echo "/* This date time is from the last non-merge commit to 
Hamlib. */" > $(builddir)/$(@F).tmp ;\
                echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git 
--git-dir=$(top_srcdir)/.git log --no-merges 
--date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git 
--git-dir=$(top_srcdir)/.git log --no-merges -n 1 | head -n 1 | cut -c8-13)\"  
>> $(builddir)/$(@F).tmp ;\
                diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F) ; test $$? -eq 
0 || { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f 
$(builddir)/$(@F).tmp $(builddir)/$(@F) ; } ;\
                rm -f $(builddir)/$(@F).tmp ;\
                touch -c $(top_srcdir)/src/version_dll.rc ;\
        else \
                test -f $(srcdir)/$(@F) || cp $(srcdir)/$(@F).in 
$(srcdir)/$(@F) ;\
        fi

snapshot_data.o rig.o: hamlibdatetime.h


This all works as expected with GNU make on various platforms.  Other
than recommending GNU make to the reporter, is there something we're
missing?

I can supply the Makefile from FreeBSD upon request, if that helps.

- Nate

-- 
"The optimist proclaims that we live in the best of all
possible worlds.  The pessimist fears this is true."
Web: https://www.n0nb.us
Projects: https://github.com/N0NB
GPG fingerprint: 82D6 4F6B 0E67 CD41 F689 BBA6 FB2C 5130 D55A 8819

Attachment: signature.asc
Description: PGP signature

Reply via email to