B20.1: make dependencies broken

Kevin Wright kwright@uk.mdis.com
Fri Jan 28 04:15:00 GMT 2000


I agree your make file works.  However your makefile lives in the target
directory and copies files from another directory to the target directory.

My makefile lives in the source directory and copies files to another
directory.  This is (I would have thought) the more normal use of make i.e.
creating a file from a source file and then copying it to an installation
directory.

My make file works on 5 different flavours of Unix using gnu make version
3.75 and 3.76.1.   It worked on B17 using gnu make 3.75.  It doesn't work on
B20.1 using gnu make 3.76.1 as supplied with B20.1 binaries.

Kevin.
>
> Hmm...  Is you Makefile example correct?  I redid it like this:
>
> ------------------------------
> NTTOOLSDIR = /tmp
>
> NTTOOLS = f1.bat \
>           f2.bat
>
> All: $(NTTOOLS)
>
> $(NTTOOLS): % : $(NTTOOLSDIR)/%
>         # making $@ due to $?
>         cp $? $@
> --------------------------------
>
> I then did
>
> mkdir /tmp/maketest
> cd /tmp/maketest
> create above Makefile
> touch /tmp/f1.bat /tmp/f2.bat
> make
>        This gave me the expected results.
> touch /tmp/f2.bat
> make
>        This gave me the expected results.
> touch /tmp/f1.bat
> make
>        This gave me the expected results.
> make
>        Everything current, great, that was the expected result.
> cd ..
> make -f maketest/Makefile
>        Everything current, great, that was the expected result.
>
> Earnie.
>
> --- Kevin Wright <kwright@uk.mdis.com> wrote:
> > I tried adding
> > .SUFFIXES: .bat
> > and it didn't make any difference.
> >
> > Kevin.
> >
> > >
> > > Ok.  You problen with .bat is that it is an suffix that isn't a
> > > default one.
> > > What happens if you add .SUFFIXES .bat?
> > >
> > > Earnie.
> > >
> > > I've found the following problem with make on B20.1.
> > > Try the following makefile:
> > > ------------------------------
> > > NTTOOLSDIR = /tmp
> > >
> > > NTTOOLS = $(NTTOOLSDIR)/f1.bat \
> > >           $(NTTOOLSDIR)/f2.bat
> > >
> > > All: $(NTTOOLS)
> > >
> > > $(NTTOOLS): $(NTTOOLSDIR)/%: %
> > >
> > > $(NTTOOLS):
> > >         # making $@ due to $?
> > >         cp $? $@
> > > --------------------------------
> > >
> > > now touch f1.bat f2.bat
> > >
> > >
> > > make always reports:
> > > make: Nothing to be done for `All'.
> > >
> > > Removing the .bat extension on f1/f2 fixes the problem.
> > > Removing the second file from NTTOOLS fixes the problem.
> > >
> > > This all worked fine on B17.
> > >
> > > I'm using NT4 SP5


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list