> The disadvantage of that is that having files called Makefile and > makefile in the same directory, users may well look for the former to > make changes, leading to confusion. I certainly didn't know that
Yes, it is true, you have to be carefull with this point, but usually is not a problem. > Also, having created the makefile, does the Makefile invoke make > again automatically, or does the user have to re-enter their user has to write something like: make dep and then the new makefile is created. Next time user executes 'make' then makefile will be used instead of Makefile. I have these rules: dep: (cat Makefile ; \ for i in $(OBJS:.o=.c) ;\ do \ $(CC) $(CPPFLAGS) $(CFLAGS) -MM $$i ; \ done) > makefile disctclean: clean rm -f makefile You can do something similar using only a Makefile and these rules: dep: (echo '#Cut here' for i in $(OBJS:.o=.c) ;\ do \ $(CC) $(CPPFLAGS) $(CFLAGS) -MM $$i ;\ done) >> Makefile ;\ distclean: clean printf "/^#Cut here/,$d\nw\nq\n" | ed -s Makefile but then you will have problems with your control version system. You can avoid the confusion of Makefile and makefile if you use other names: for example gen.mk (and it generates Makefile, so the user knows that he is working with a generated Makefile). I usually don't like this way because the user should read the documentation and see the Makefile/makefile issue. Regards, -- Roberto E. Vargas Caballero