toddb@tekcrl.tek.COM (Todd Brunhoff) (09/24/87)
>> One problem I am having now is porting it to an Encore. ...After making >> imake in util/imake, and modifying the Vax.macros files to use the MAKEFLAGS >> parameter, and forcing Imake.tmpl to use the Vax.macros file, I go to the >> top directory, do a "make Makefile" and the resulting Makefile is a >> disaster - more than half of it is missing. There are no error messages >> from imake complaining about anything. As I have said before (and I suppose I can, because I wrote imake), the program is the wrong solution to a problem that needs solving; i.e. removing common information from all makefiles in a large system. But enough of that. Imake assumes there exists a c-preprocessor of a 4.2 flavor. On some versions of suns, this is actually closer to a system V flavor, I have been told, and accordingly, there is a hack in the source for imake (look for #ifdef sun code). I don't know what sort of system an Encore is, but I would suggest three approaches, one of which should work for you: 1. use the Makefiles (and dependencies) generated on your sun, and simply edit them by hand when a dependency appears that is not on your machine. E.g. some .o files may depend on /usr/include/machine/mumble.h, but the file doesn't exist on your machine. Simply edit the makefile and remove this filename from the dependencies. This may turn out to be a formidible task if your include files are not in /usr/include, otherwise, you'll probably only have to change a dozen Makefiles. 2. Generate the Makefiles on the sun, and try to get makedepend running on your machine. This shouldn't be too much work, but again, if the file system is different, you may have to modify makedepend some. 3. Find the problem with cpp/imake. Apollo machines have a cpp that is downright broken and would insert spurious newlines in the output; they have recommended that you obtain a cpp from customer support. If you can't figure out what's what with imake, send me a copy of the generated Makefile, and I'll make a guess at what's wrong. It's probably naivete on the part of imake. --------------- Usenet: {ucbvax,decvax,allegra,uw-beaver,hplabs}!tektronix!crl!toddb {CS,ARPA}net: toddb%crl.tek.csnet@relay.cs.net c--Q Q US: Todd Brunhoff; Computer Research Lab; Tektronix, Inc. ` Box 500 MS 50-662, Beaverton OR 97077 - Phone: (503) 627-1121
rusty@VELVEETA.BERKELEY.EDU.UUCP (09/24/87)
I'll point out something that was obvious to me, but may not be to others. If you want to make makedepend on a SUN you can use the cpp sources from a VAX. University sites that have VAXes and SUNs probably have 4.[23]bsd VAX source code but may not have SUN source code. It would be nice if the X maintainers would use the cpp sources that the GNU project has written; it's free and doesn't have the same licensing restrictions that the AT&T cpp sources do.