Bug 92362 - Parallel make fix for smoke makefiles
Summary: Parallel make fix for smoke makefiles
Status: RESOLVED FIXED
Alias: None
Product: bindings
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kde-bindings
URL:
Keywords:
: 96748 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-10-30 00:51 UTC by danarmak
Modified: 2005-06-08 23:19 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
parallel-make.diff (1.66 KB, patch)
2004-10-30 00:53 UTC, danarmak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description danarmak 2004-10-30 00:51:20 UTC
Version:            (using KDE KDE 3.3.1)
Installed from:    Gentoo Packages
OS:                Linux

The smoke/qt, smoke/kde Makefile.ams are missing rules that say all the x_*.cpp files depend on smokedata.cpp. Thus, make -jN where N>=2 fails like this:

Making all in kde
make[3]: Entering directory `/var/tmp/portage/smoke-3.3.1/work/smoke-3.3.1/smoke/kde'
perl generate.pl
make[3]: *** No rule to make target `x_1.cpp', needed by `x_1.lo'.  Stop.
make[3]: *** Waiting for unfinished jobs....
Found 'qtdefines'. Reading preprocessor symbols from there...
kalyptus: processing /usr/qt/3/include/qhttp.h

Patch in next comment...
Comment 1 danarmak 2004-10-30 00:53:03 UTC
Created attachment 8089 [details]
parallel-make.diff

Manually adds the missing targets. I'm not an (auto)make guy, so there may be a
way to do this with one line per file.
I'm going to use this in the gentoo ebuild.
Comment 2 Caleb Tennis 2005-01-19 01:25:55 UTC
Dan, you can get by by using something like this instead:

libsmokeqt_la_COMPILE_FIRST = smokedata.cpp
Comment 3 Caleb Tennis 2005-02-01 17:29:41 UTC
CVS commit by ctennis: 

Parallel make compilation fix

CCMAIL:92362-done@bugs.kde.org


  M +2 -0      Makefile.am   1.20


--- kdebindings/smoke/qt/Makefile.am  #1.19:1.20
@@ -17,4 +17,6 @@
  x_16.cpp x_17.cpp x_18.cpp x_19.cpp x_20.cpp
 
+libsmokeqt_la_COMPILE_FIRST = smokedata.cpp
+
 smokedata.cpp:
         perl generate.pl


Comment 4 danarmak 2005-02-06 18:34:16 UTC
Doesn't work for me in beta2. make -j2 consistently fails like this:
==================================
ake  all-recursive
make[1]: Entering directory `/var/tmp/portage/smoke-3.4.0_beta2/work/smoke-3.4.0_beta2'
Making all in kalyptus
make[2]: Entering directory `/var/tmp/portage/smoke-3.4.0_beta2/work/smoke-3.4.0_beta2/kalyptus'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/portage/smoke-3.4.0_beta2/work/smoke-3.4.0_beta2/kalyptus'
Making all in smoke
make[2]: Entering directory `/var/tmp/portage/smoke-3.4.0_beta2/work/smoke-3.4.0_beta2/smoke'
Making all in qt
make[3]: Entering directory `/var/tmp/portage/smoke-3.4.0_beta2/work/smoke-3.4.0_beta2/smoke/qt'
perl generate.pl
make[3]: *** No rule to make target `x_1.cpp', needed by `x_1.lo'.  Stop.
make[3]: *** Waiting for unfinished jobs....
Found 'qtdefines'. Reading preprocessor symbols from there...
kalyptus: processing /usr/qt/3/include/qhttp.h
==========================
(it goes on to generate smokedata.cpp before aborting)
My patch does work.
Comment 5 Dirk Mueller 2005-06-08 23:19:18 UTC
*** Bug 96748 has been marked as a duplicate of this bug. ***