This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: B20.1: make dependencies broken
- To: "Cygwin" <cygwin at sourceware dot cygnus dot com>
- Subject: RE: B20.1: make dependencies broken
- From: "Kevin Wright" <kwright at uk dot mdis dot com>
- Date: Fri, 28 Jan 2000 12:14:20 -0000
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