This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

makeflags, cross-compiling, and col


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]