Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 7

Qt-interest Archive, July 2007
qmake unix makefile generation problem/enhancement


Message 1 in thread

Hi all,

qmake generates on unix systems 'Makefile's. I have small problem with
the SUBDIRS= feature. For each entry in SUBDIRS= qmake generates the
following code:

sub-qarm: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE)
sub-qarm-make_default: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE)
sub-qarm-make_first: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) first
sub-qarm-all: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) all
sub-qarm-clean: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) clean
sub-qarm-distclean: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) distclean
sub-qarm-install_subtargets: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) install
sub-qarm-uninstall_subtargets: qarm/$(MAKEFILE) FORCE
        cd qarm && $(MAKE) -f $(MAKEFILE) uninstall

Thus it calls make again using "$(MAKE) -f $(MAKEFILE) <target>". I want
to pass some pre-defined make variables at command line on the top level
makefile such as: "make all CXX=g++-4.2.1". But to work correctly qmake
have to generate the following call to make (assuming GNU make):
   "$(MAKE) -f $(MAKEFILE) $(MAKEFLAGS) <target>"

Hope this can be implemented in the next release of Qt 4.x!?

Regards,
Stefan

-- 
 [ signature omitted ] 

Message 2 in thread

On 31.07.07 01:28:56, Stefan Ruppert wrote:
> qmake generates on unix systems 'Makefile's. I have small problem with
> the SUBDIRS= feature. For each entry in SUBDIRS= qmake generates the
> following code:
> 
> sub-qarm: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE)
> sub-qarm-make_default: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE)
> sub-qarm-make_first: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) first
> sub-qarm-all: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) all
> sub-qarm-clean: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) clean
> sub-qarm-distclean: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) distclean
> sub-qarm-install_subtargets: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) install
> sub-qarm-uninstall_subtargets: qarm/$(MAKEFILE) FORCE
>         cd qarm && $(MAKE) -f $(MAKEFILE) uninstall
> 
> Thus it calls make again using "$(MAKE) -f $(MAKEFILE) <target>". I want
> to pass some pre-defined make variables at command line on the top level
> makefile such as: "make all CXX=g++-4.2.1". But to work correctly qmake
> have to generate the following call to make (assuming GNU make):
>    "$(MAKE) -f $(MAKEFILE) $(MAKEFLAGS) <target>"
> 
> Hope this can be implemented in the next release of Qt 4.x!?

Wrong place to ask for enhancements, use bugs <at> trolltech.com

Apart from that: There are other ways to achieve what you want, for
example using 

QMAKE_CXX = $(MYCXX)

and running make MYCXX=... works fine, except maybe that you need to
provide MYCXX always

Andreas

-- 
 [ signature omitted ]