%% "Brian T. Brunner" <[EMAIL PROTECTED]> writes: btb> If top and subdir makefiles both have rules named 'clean' that do btb> different things, that should be fine with make. Whether I make btb> clean or make target, make warns me that it has a duplicate rule btb> 'clean' and is overriding the rule for 'clean'. likewise for btb> 'all'.
You haven't given any concrete example that shows the problem, so we can't really help. If you have a top makefile which invokes a submake with a makefile in a subdirectory, then your scenario will never happen: each instance of make has its own set of rules and they never conflict. The only way you can get a message like this is if a single instance of make reads in more than one command script for a target. btb> I want a means to tell make that I KNOW THERE IS A DUPLICATE RULE btb> FOR CLEAN! just do it quietly please. What do you want make to do with the duplicate rule? Run only the last one? Only the first one? Run some random particular one? Run all of them? There's no way for make to know. If you want to run all of them you can turn them into double-colon rules. If you want one of the other ones you'll have to change your makefiles to ensure it's the only one that exists. The easiest thing to do depends on the situation. For "clean" type rules you can add files and directories to be cleaned to a variable, then have the one "master" clean rule remove the contents of that variable. For "all" type rules often you just add your own rule as a prerequisite of "all", like: all: local-all local-all: <do my stuff> You can define the same target multiple times in a makefile, and add prerequisites to it as often as you like. But, every singe target can have one and only one set of commands to be run. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-make