use a makefile for processing files according two Suffix Rules -


i have docroot folder containing source files need built .usp -> .so .htt -> .html

currently makefile has following : .suffixes: .usp .htt

sources = $(wildcard docroot/*.usp) $(wildcard docroot/*.htt) objects = $(sources:.usp=.so) $(sources:.htt=.html)  : ${objects} .phony :   %.usp: %.so     usp_compile_incl.sh -i ~/projects/concise-ile/include $<  %.htt: %.html     gpp -i~/projects/concise-ile/include -c $< -o $@  .phony: clean clean:     rm -f docroot/*.so docroot/*.html 

make: *** no rule make target 'docroot/fortune.so', needed 'all'. stop.

solution per sauerburger

.suffixes: .usp .htt  sources_usp  = $(wildcard docroot/*.usp) sources_htt = $(wildcard docroot/*.htt) objects = $(sources_usp:.usp=.so) $(sources_htt:.htt=.html)  : ${objects}     .phony :   %.so: %.usp     usp_compile_incl.sh -i ~/projects/concise-ile/include $<  %.html: %.htt     gpp -i~/projects/concise-ile/include -c $< -o $@ 

the build rules .so , .html wrong way round. should work:

%.so: %.usp     usp_compile_incl.sh -i ~/projects/concise-ile/include $<  %.html: %.htt     gpp -i~/projects/concise-ile/include -c $< -o $@ 

the syntax of rules target: dependencies.

you should split sources variable

sources_usp  = $(wildcard docroot/*.usp) sources_htt = $(wildcard docroot/*.htt) objects = $(sources_usp:.usp=.so) $(sources_htt:.htt=.html) 

otherwise end mixed objects list. first replacement include *.htt files, , second include *.ups files.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -