Am 17.01.2013 um 09:06 schrieb Pierre Lindenbaum:

> - What's the best way to run qmake as a daemon ?
> 
>> What do you mean by "run qmake as a daemon" -
>> 
> 
> something like;
> 
> #with a '&' at the end
> $ qmake [arguments] &
> 
> I'd like to close my terminal and let qmake run as a daemon. But I wonder if 
> that's a good practice
> 
>> How did you submit the job? 
> 
> 
> qmake -l arch=lx24-amd64 -cwd -v PATH -- -I /my/path -f mymake.mk -j 16 
> target.name
> 
>>> - How should I kill  qmake ? I currently use a simple Ctrl-C . Will SGE 
>>> kill the running processes of the Makefile ?
>> It doesn't quit after the compilation finished?
>> 
> compilation ? you mean after the targets have all been processed ?
> Yes it exists, using qmake with '-j N' I just wonder if I should worry about 
> the 'N' processes running or if SGE kills them.
> 
> - qmake doesn't support the $(eval ...) function: am I right ?
> 
>> What do you observe in detail?
> Here is a Makefile using $eval
> 
> ################################## start Makefile
> define MY
> 
> t$(1):
>    echo "Hello I'm target n $(1)" > $$@
> endef
> 
> TARGETS= 1 2 3 4 5 6
> 
> .PHONY: all clean
> 
> all: merge.txt
> 
> merge.txt : $(foreach x,$(TARGETS),t${x} )
>    cat $^ > $@
> $(foreach x,$(TARGETS), $(eval $(call MY,$x)))

Well, it's a bug in make-3.78.1 which was used do built `qmake`. If I compile 
this 3.78.1 version as normal `make` it results in the same error.

As `qmake` isn't using any SGE internals, it should be possible to compile it 
with a newer version of the make source to get it working (or even use just 
another `qmake` out of the available repositories.

-- Reuti


> clean:
>    rm -f $(foreach x,$(TARGETS), t${x} )
> 
> ##############################end Makefile
> 
> 
> with 'make'
> 
> 
> make clean all
> rm -f  t1   t2   t3   t4   t5   t6
> echo "Hello I'm target n 1" > t1
> echo "Hello I'm target n 2" > t2
> echo "Hello I'm target n 3" > t3
> echo "Hello I'm target n 4" > t4
> echo "Hello I'm target n 5" > t5
> echo "Hello I'm target n 6" > t6
> cat t1 t2 t3 t4 t5 t6 > merge.txt
> 
> with 'qmake'
> 
> qmake clean all
> rm -f  t1   t2   t3   t4   t5   t6
> qmake: *** No rule to make target `t1', needed by `merge.txt'. Stop.
> 
> 
> Thank you,
> 
> Pierre


_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to