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

eliminating implicit rules in makefiles



How can I disab;e *all* the default rules in my Makefiles?

When I say
	make frith
I don't want it do respond with
	cc frith.c -o frith
even if there is a frith.c file, because that just doesn't work.  Frith needs a lot
more source files to be compiled.  I'd want it to say
	no rule to make frith
or something like it.

Now frith is a machine-dependent file, so I specify something like
	cc -o $(ARCH)/frith frith.c foo.c and so on
which works when I say
	make i686/frith
or
	make x86_64/frith

That's fine.  But even if I say
	frith: $(ARCH)/frith
without any statements to actually make frith,  I have trouble.
Sometimes after I
	make frith
it responds with
	cc -o i686/drith frith.c foo.c and so on
correctly, but then apparently as an afterthough, noticing that frith hasn't ben made yet, 
follows up with
	cc -o frith frith.c

based (presumably) on some build-in implicit rule.

How can I get rid of all these implicit rules, so I only get the ones I speify explicitly?

-- hendrik




Reply to: