"Gerrit ." wrote:

> %.cost: $(COST_DIR)/%.scost $(COST)
>         $(COST) -o $@ -I $(COST_DIR) $<

When you write a pattern rule like this, all the stated prerequisites
must exist (or be able to be built) in order for the pattern rule to
apply.  COST is defined as

COST=$(BIN_PATH)/cost

However, assuming that cost is a binary, it is probably named "cost.exe"
on Win32, meaning that as written $(COST) does not exist and so the
pattern rule can't apply.  You have to be conscientious about using
$(EXEEXT) if you're going to list executables as prerequisites, e.g.

COST=$(BIN_PATH)/cost$(EXEEXT)

(Assuming that you are using autoconf or something else that sets
EXEEXT.)

The ability to leave off the .exe suffix applies only when invoking a
program.  If you expect make to be able to find it as a prerequisite you
have to include it.

Brian


_______________________________________________
Make-w32 mailing list
Make-w32@gnu.org
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to