(please disregard the previous msg, subj: "Autto [sic] Targets Possible", finger fumble)
I have a "master" directory on top of a source tree with a Makefile that works just like I want it to at the moment. Due to a situation out of my control, users cd to a working directory two subdirectories below. There they currently use a hodgepodge of awk, bash, tcsh, and Perl scripts to selectively make targets that I have in my Makefile two directories above. I'm trying to create a working solution to eliminate the script kludge and replace it by a much easier to maintain make system. I have successfully (so far) managed to "make" things work by duplicating targets in the user Makefile. My user Makefile version looks like this ===> user Makefile MASTERDIR := ../.. % : <tab>( cd $(MASTERDIR); $(MAKE) $@ ) <=== end user Makefile That rule does pass any target to the subordinate Makefile which tries to process it accordingly. However, I have the problem that the top Makefile has executable targets in the user directory and refers to them with the path as part of the target. For example: $(RUNDIR)/tgt : $(RUNDIR)/tgt.o <tab>g++ $(CXXFLAGS) $< -o $@ I would like to call, from the user directory: make tgt and have the top Makefile translate to the $(RUNDIR)/tgt. I have tried this rule in the top Makefile: % : $(RUNDIR)/% but that doesn't work. I could write explicit rules in the user Makefile but I'm too lazy. I could also rewrite and move the top Makefile and its supporting structure to the working directory, but I don't want the user exposed to its complexity due to the nature of the source tree. I believe I can make a Perl script do what I want, but is there any way to do it with make with the setup I have? Thanks. -Tom Tom Browder Niceville, Florida USA