[comp.windows.x] Tough times with X11

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.