This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
makeflags, cross-compiling, and col
- To: cygwin-xfree at cygwin dot com
- Subject: makeflags, cross-compiling, and col
- From: "jimk" <jimk at scitechsoft dot com>
- Date: Fri, 1 Jun 2001 14:30:08 -0700
Okay, so I'm pretty new to cygwin/xfree86/gcc/Imake etc, so I
apologize in advance if I'm giving too much/little info here and for
the novel below.
How can I get rid of the --unix in Makeflags? I'm trying to do make
World and nested down in a bunch of the subdirectories, when
make gets to this section of the Makefile,
$(ONESUBDIR)/Makefile:
@for flag in ${MAKEFLAGS} ''; do \
case "$$flag" in *=*) ;; *[n]*) executeit="no";; esac; done; \
cd $(ONESUBDIR) && \
if [ "$$executeit" != "no" ]; then \
$(IMAKEPREFIX)$(IMAKE) -I$(IMAKEPREFIX)$(IRULESRC)
$(IMAKE_DEFINES) -DTO
PDIR=$(IMAKETOP) -DCURDIR=$(ONECURDIR)$(ONESUBDIR); \
fi;
it basically sees the --unix in MAKEFLAGS, sets executeit="no" and
then doesn't run Imake to create the Makefile in each of the
subdirectories. I don't know enough about makefiles yet to know
why, so here is one of my questions.
What is the real intention of that? Just ignoring that case statement
lets the Makefiles get built, which is obviously the ultimate intention
since if they didn't need to be built, doing a make World wouldn't
choke with the statement that it couldn't find a rule to make clean in
that subdir.
I'm trying to build under cygwin, but I'm using a gcc cross-compiler
targeting linux.
My other problem (well, one of them) is that I was having a hard time
convincing the Imake process to actually use the cross-compiler.
I've seen the few examples, but I ended up just setting my cross-
compiler as the default compiler and the few things that needed to
be compiled native (like imake, makekeys, makestrs) I compiled
separately and removed the compile references from the make
process. This seems to have worked, but it seems less clean than
running a real multi-compiler environment and I'm not sure it is an
adequate solution. It also still throws up a number of dialog box
errors in certain spots similar to what I get when I try to execute a
linux program on my win2k machine from within bash. I haven't
figured out where it is yet, but it's right after it does a ranlib on some
lib and then an rf -f on that same lib. Would I be better off using a
true multi-cross-compiler environment? And if so, how? When I
was doing it, it always pulled in the cygwin.cf file and what I really
need is for it to pull in the linux.cf file (which it does in my hacked
version)?
Lastly, it was also choking because it couldn't find the col utility
which I don't find in cygwin but I do find in linux. I managed to use
a pair of jumper cables and arc around that issue, but I'd like to
know what the proper way of handling this is. Get the sources for
col and recompile under native cygwin? (where?) Patch in cat in
place of col which is what it looks like is done for os2?
Thanks a ton for any help/info/tips/counseling
-Jim