I'm trying to take some source files, create some customised versions of those sources, then process those customised sources down to output files I can use. I'm using this make file. Note that this file is not fully complete, currently it only does the CSS* make, once that's working I will add the PHP* make which is similar:
# root sources
CSSSOURCES =    $(wildcard *.scss)
PHPSOURCES =    $(wildcard *.phtml)
# partials, creates a configed source
CSSMSOURCES =   $(addprefix m.,$(CSSSOURCES:.scss=.m)) 
CSSDSOURCES =   $(addprefix d.,$(CSSSOURCES:.scss=.d)) 
PHPMSOURCES =   $(addprefix m.,$(PHPSOURCES:.phtml=.m)) 
PHPDSOURCES =   $(addprefix d.,$(PHPSOURCES:.phtml=.d))
# targets
CSSMTARGETS =   $(CSSMSOURCES:.m=.css)
CSSDTARGETS =   $(CSSDSOURCES:.d=.css)
PHPMTARGETS =   $(PHPMSOURCES:.m=.php)
PHPDTARGETS =   $(PHPDSOURCES:.d=.php)
# ensure no clash with built in rules
.SUFFIXES: .m .d .scss .css .phtml .php
all:    $(CSSMTARGETS)
%.m:    %.scss
    echo "%define MOBILE" | cat - $< >tmp
    mv tmp $@
%.d:    %.scss
    echo "%define DESKTOP" | cat - $< >tmp
    mv tmp $@
%.css:  %.m %d
    cat $< | mym1.pl >$@
    rm $<
.PHONY: test
test:
    @echo "sources - $(CSSSOURCES)"
    @echo "msources - $(CSSMSOURCES)"
    @echo "targets - $(CSSMTARGETS)"
Instead of creating the CSS targets I get this error:
make: *** No rule to make target 'm.page.css', needed by 'all'.  Stop.
 
     
     
    