After reading the manual, I have another quesiton: this is the new way: program.o : program.prg %.prg : %.o <tab>gharbour $< I tried to translate the rule using the old way: .prg.o: <tab>gharbour $< and didn't work. It reported this error: gcc: program.o: No such file or directory DO you happen to know why? Something with implicit rule?