automake
[Top][All Lists]
Advanced

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

Dependency problem (with win32 resource file and generated header)


From: Jef Driesen
Subject: Dependency problem (with win32 resource file and generated header)
Date: Tue, 04 Jan 2011 21:54:15 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7

Hi,

In a project of mine, I generate a header file which contains the GIT commit sha1. It's generated using these rules:

FORCE:
$(top_srcdir)/revision: FORCE
        @if (test -d $(top_srcdir)/.git && cd $(top_srcdir) \
             && git rev-parse --verify HEAD) > revision-t 2>/dev/null \
          && ! cmp -s revision-t $@; then \
          mv -f revision-t $@; \
        else \
          rm -f revision-t; \
          if ! test -f $@; then touch $@; fi; \
        fi

revision.h: $(top_srcdir)/revision Makefile.am
$(AM_V_GEN) echo "#define DC_VERSION_REVISION \""`cat $(top_srcdir)/revision`"\"" > $@

BUILT_SOURCES = revision.h
EXTRA_DIST = $(top_srcdir)/revision
CLEANFILES = revision.h revision-t

This works very well, but I also have a windows resource file to include a version resource in the dll. I build the resource file with libtool using these rules.

libdivecomputer_la_SOURCES += libdivecomputer.rc

.rc.lo:
        $(AM_V_GEN) $(LIBTOOL) --silent --tag=RC --mode=compile $(RC) $< -o $@

The libdivecomputer.rc file is generated from a libdivecomputer.rc.in from configure.ac, and it also includes the revision.h file for the GIT commit.

This also works well, except that resource file doesn't get recompiled when the revision.h file is changed. How can I fix this? I tried adding the revision.h file as a dependency to the the .rc.lo rule, but that doesn't seem to have any effect.

Note the full Makefile.am file can be viewed here:
http://libdivecomputer.git.sourceforge.net/git/gitweb.cgi?p=libdivecomputer/libdivecomputer;a=blob;f=src/Makefile.am;hb=HEAD

Jef




reply via email to

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