Index: kmultipart/CMakeLists.txt
===================================================================
--- kmultipart/CMakeLists.txt	(revision 562729)
+++ kmultipart/CMakeLists.txt	(working copy)
@@ -1,5 +1,6 @@
 
 include_directories( ${CMAKE_SOURCE_DIR}/khtml ${CMAKE_SOURCE_DIR}/kio/httpfilter ${CMAKE_SOURCE_DIR}/kutils )
+include_directories( ${KDE4_INCLUDES} ${KDE4_KDECORE_INCLUDES} ${KDE4_KDEUI_INCLUDES} ${KDE4_KIO_INCLUDES} )
 include_directories(${ZLIB_INCLUDE_DIR})
 
 ########### next target ###############
Index: dom/CMakeLists.txt
===================================================================
--- dom/CMakeLists.txt	(revision 562729)
+++ dom/CMakeLists.txt	(working copy)
@@ -1,4 +1,55 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_INCLUDES}
+)
 
+set(khtml_dom_SRCS
+    dom_misc.cpp
+    html_block.cpp
+    html_inline.cpp
+    css_rule.cpp
+    dom_node.cpp
+    html_document.cpp
+    html_list.cpp
+    css_stylesheet.cpp
+    dom_string.cpp
+    html_element.cpp
+    html_misc.cpp
+    css_value.cpp
+    dom_text.cpp
+    html_object.cpp
+    dom_doc.cpp
+    dom_xml.cpp
+    html_head.cpp
+    dom_element.cpp
+    html_base.cpp
+    html_image.cpp
+    html_form.cpp
+    dom2_range.cpp
+    html_table.cpp
+    dom2_traversal.cpp
+    dom2_events.cpp
+    dom2_views.cpp
+)
+#set_source_files_properties(${khtmldom_STAT_SRCS} PROPERTIES COMPILE_FLAGS ${KDE4_ENABLE_EXCEPTIONS})
+
+kde4_automoc(${khtml_dom_SRCS})
+kde4_add_library(khtml_dom STATIC ${khtml_dom_SRCS})
+target_link_libraries(khtml_dom ${KDE4_KDECORE_LIBS})
+
+
 ########### install files ###############
-install( FILES dom_exception.h   html_base.h       html_inline.h    css_rule.h        dom_html.h        html_block.h      html_list.h    css_stylesheet.h  dom_misc.h        html_document.h   html_misc.h    css_value.h       dom_node.h        html_element.h    html_object.h     dom_core.h        dom_string.h      html_form.h       html_table.h   dom_doc.h         dom_text.h        html_head.h    dom_element.h     dom_xml.h         html_image.h   dom2_range.h      dom2_traversal.h  dom2_events.h     dom2_views.h  DESTINATION  ${INCLUDE_INSTALL_DIR}/dom )
+install( FILES
+         dom_exception.h html_base.h html_inline.h css_rule.h
+         dom_html.h html_block.h html_list.h css_stylesheet.h
+         dom_misc.h html_document.h html_misc.h css_value.h
+         dom_node.h html_element.h html_object.h dom_core.h
+         dom_string.h html_form.h html_table.h dom_doc.h 
+         dom_text.h html_head.h dom_element.h dom_xml.h 
+         html_image.h dom2_range.h dom2_traversal.h dom2_events.h
+         dom2_views.h 
+         DESTINATION
+         ${INCLUDE_INSTALL_DIR}/dom )
 
Index: misc/CMakeLists.txt
===================================================================
--- misc/CMakeLists.txt	(revision 0)
+++ misc/CMakeLists.txt	(revision 0)
@@ -0,0 +1,20 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_KDEUI_INCLUDES}
+                    ${KDE4_INCLUDES})
+
+set(khtml_misc_SRCS
+  decoder.cpp
+  loader.cpp
+  guess_ja.cpp
+  htmlhashes.cpp
+  helper.cpp
+  arena.cpp
+  stringit.cpp
+)
+
+kde4_automoc(${khtml_misc_SRCS})
+kde4_add_library(khtml_misc STATIC ${khtml_misc_SRCS})
+target_link_libraries(khtml_misc ${KDE4_KDECORE_LIBS})
Index: html/CMakeLists.txt
===================================================================
--- html/CMakeLists.txt	(revision 0)
+++ html/CMakeLists.txt	(revision 0)
@@ -0,0 +1,32 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_KDEUI_INCLUDES}
+                    ${CMAKE_SOURCE_DIR}/kwallet
+                    ${CMAKE_SOURCE_DIR}/kwallet/client
+                    ${CMAKE_SOURCE_DIR}/kio/kssl
+                    ${KDE4_INCLUDES})
+
+set(khtml_html_SRCS
+  htmlparser.cpp
+  htmltokenizer.cpp
+  dtd.cpp
+  html_headimpl.cpp
+  html_blockimpl.cpp
+  html_elementimpl.cpp
+  html_inlineimpl.cpp
+  html_documentimpl.cpp
+  html_baseimpl.cpp
+  html_imageimpl.cpp
+  html_listimpl.cpp
+  html_miscimpl.cpp
+  html_formimpl.cpp
+  html_objectimpl.cpp
+  html_tableimpl.cpp
+  html_canvasimpl.cpp
+)
+
+kde4_automoc(${khtml_html_SRCS})
+kde4_add_library(khtml_html STATIC ${khtml_html_SRCS})
+target_link_libraries(khtml_html ${KDE4_KDECORE_LIBS})
Index: ecma/CMakeLists.txt
===================================================================
--- ecma/CMakeLists.txt	(revision 562729)
+++ ecma/CMakeLists.txt	(working copy)
@@ -1,4 +1,61 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${CMAKE_SOURCE_DIR}/kdecore
+                    ${CMAKE_SOURCE_DIR}/kio
+                    ${CMAKE_BINARY_DIR}
+                    ${KDE4_INCLUDES})
 
+add_subdirectory( debugger )
+set(khtmlecma_SRCS
+  kjs_binding.cpp
+  kjs_dom.cpp
+  kjs_html.cpp
+  kjs_window.cpp
+  kjs_navigator.cpp
+  kjs_proxy.cpp
+  kjs_css.cpp
+  kjs_range.cpp
+  kjs_traversal.cpp
+  kjs_events.cpp
+  kjs_views.cpp
+# kjs_debugwin.cpp
+  kjs_mozilla.cpp
+  xmlhttprequest.cpp
+  xmlserializer.cpp
+  domparser.cpp
+  kjs_context2d.cpp
+)
+
+macro(CREATE_LUT _in_FILE _out_FILE)
+
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
+      COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
+      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
+   )
+   macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
+
+endmacro(CREATE_LUT)
+
+create_lut(kjs_dom.cpp kjs_dom.lut.h)
+create_lut(kjs_html.cpp kjs_html.lut.h)
+create_lut(kjs_window.cpp kjs_window.lut.h)
+create_lut(kjs_css.cpp kjs_css.lut.h)
+create_lut(kjs_events.cpp kjs_events.lut.h)
+create_lut(kjs_navigator.cpp kjs_navigator.lut.h)
+create_lut(kjs_mozilla.cpp kjs_mozilla.lut.h)
+create_lut(kjs_range.cpp kjs_range.lut.h)
+create_lut(kjs_traversal.cpp kjs_traversal.lut.h)
+create_lut(kjs_views.cpp kjs_views.lut.h)
+create_lut(xmlhttprequest.cpp xmlhttprequest.lut.h)
+create_lut(xmlserializer.cpp xmlserializer.lut.h)  
+create_lut(domparser.cpp domparser.lut.h)
+create_lut(kjs_context2d.cpp kjs_context2d.lut.h)
+
+kde4_automoc(${khtmlecma_SRCS})
+kde4_add_library(khtmlecma STATIC ${khtmlecma_SRCS})
+target_link_libraries(khtmlecma ${KDE4_KDECORE_LIBS})
+
+
 ########### next target ###############
 
 #set(CREATE_HASH_TABLE ${CMAKE_SOURCE_DIR}/kjs/create_hash_table )
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 562729)
+++ CMakeLists.txt	(working copy)
@@ -14,74 +14,17 @@
 
 configure_file(config-khtml.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-khtml.h )
 
-# khtml/dom/Makefile.am: khtmldom
+add_subdirectory( dom )
+add_subdirectory( misc )
+add_subdirectory( html )
+add_subdirectory( rendering )
+add_subdirectory( java )
+add_subdirectory( css )
+add_subdirectory( xml )
+add_subdirectory( imload )
+add_subdirectory( kmultipart )
 
-set(khtmldom_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_misc.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_block.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_inline.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/css_rule.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_node.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_document.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_list.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/css_stylesheet.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_string.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_element.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_misc.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/css_value.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_text.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_object.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_doc.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_xml.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_head.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_element.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_base.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_image.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_form.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_range.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/html_table.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_traversal.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_events.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_views.cpp
-)
-
-#set_source_files_properties(${khtmldom_STAT_SRCS} PROPERTIES COMPILE_FLAGS ${KDE4_ENABLE_EXCEPTIONS})
-
-# khtml/misc/Makefile.am: khtmlmisc
-
-set(khtmlmisc_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/misc/decoder.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/loader.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/guess_ja.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/htmlhashes.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/helper.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/arena.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/misc/stringit.cpp
-)
-
-# khtml/html/Makefile.am: khtmlhtml
-
-set(khtmlhtml_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/html/htmlparser.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/htmltokenizer.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/dtd.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_headimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_blockimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_elementimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_inlineimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_documentimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_baseimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_imageimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_listimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_miscimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_formimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_objectimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_tableimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/html/html_canvasimpl.cpp
-)
-
 # khtml/ecma/Makefile.am: kjs_html
-
 set(kjs_html_STAT_SRCS
   ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_binding.cpp
   ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_dom.cpp
@@ -115,109 +58,35 @@
 
 qt4_add_resources( kjs_html_STAT_SRCS ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/debugger.qrc )
 
-# khtml/rendering/Makefile.am: khtmlrender
 
-set(khtmlrender_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/bidi.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/break_lines.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_block.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_inline.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_style.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_object.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_container.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_box.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_flow.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_text.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_arena.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_layer.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_image.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_table.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/table_layout.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_replaced.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_form.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_list.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_canvas.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_frames.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_br.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_body.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/font.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_line.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_generated.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/enumerate.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/counter_tree.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_canvasimage.cpp
-)
+set(CREATE_HASH_TABLE ${CMAKE_SOURCE_DIR}/kjs/create_hash_table )
 
-# khtml/java/Makefile.am: kjava
+macro(CREATE_LUT _in_FILE _out_FILE)
 
-set(kjava_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaapplet.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletcontext.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletserver.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletwidget.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaprocess.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/java/kjavadownloader.cpp
-)
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
+      COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
+      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
+   )
+   macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
 
-# khtml/css/Makefile.am: khtmlcss
+endmacro(CREATE_LUT)
 
-set(khtmlcss_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/css/css_stylesheetimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/css_ruleimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/css_valueimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/css_base.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/cssparser.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/cssstyleselector.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/csshelper.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/parser.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/css/css_renderstyledeclarationimpl.cpp
-)
+create_lut(ecma/kjs_dom.cpp kjs_dom.lut.h)
+create_lut(ecma/kjs_html.cpp kjs_html.lut.h)
+create_lut(ecma/kjs_window.cpp kjs_window.lut.h)
+create_lut(ecma/kjs_css.cpp kjs_css.lut.h)
+create_lut(ecma/kjs_events.cpp kjs_events.lut.h)
+create_lut(ecma/kjs_navigator.cpp kjs_navigator.lut.h)
+create_lut(ecma/kjs_mozilla.cpp kjs_mozilla.lut.h)
+create_lut(ecma/kjs_range.cpp kjs_range.lut.h)
+create_lut(ecma/kjs_traversal.cpp kjs_traversal.lut.h)
+create_lut(ecma/kjs_views.cpp kjs_views.lut.h)
+create_lut(ecma/xmlhttprequest.cpp xmlhttprequest.lut.h)
+create_lut(ecma/xmlserializer.cpp xmlserializer.lut.h)  
+create_lut(ecma/domparser.cpp domparser.lut.h)
+create_lut(ecma/kjs_context2d.cpp kjs_context2d.lut.h)
 
-# khtml/xml/Makefile.am: khtmlxml
 
-set(khtmlxml_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_docimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_nodeimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_textimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_elementimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_stringimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_rangeimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_traversalimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/xml_tokenizer.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_xmlimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_eventsimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_viewsimpl.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_restyler.cpp
-)
-
-# khtml/imload/Makefile.am: khtmlimload
-
-set(khtmlimload_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/imload/imageplane.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/rawimageplane.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/scaledimageplane.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/pixmapplane.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/animprovider.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/imagepainter.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/updater.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/image.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/imagemanager.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/animtimer.cpp
-)
-
-# khtml/imload/decoders/Makefile.am: decoders
-
-set(decoders_STAT_SRCS
-  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/jpegloader.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/pngloader.cpp
-  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/gifloader.cpp
-)
-
-add_subdirectory( dom )
-add_subdirectory( css )
-add_subdirectory( pics )
-add_subdirectory( ecma )
-
 include_directories( ${KDE4_KPARTS_INCLUDES} )
 include_directories( ${CMAKE_BINARY_DIR}/kio/kssl )
 include_directories( ${CMAKE_SOURCE_DIR}/kjs ${CMAKE_SOURCE_DIR}/kimgio ${CMAKE_SOURCE_DIR}/kio/kssl ${CMAKE_SOURCE_DIR}/kdeprint ${CMAKE_SOURCE_DIR}/interfaces ${CMAKE_SOURCE_DIR}/interfaces/kregexpeditor ${CMAKE_SOURCE_DIR}/kwallet/client ${CMAKE_SOURCE_DIR}/kutils ${CMAKE_SOURCE_DIR}/kde3support/kdeui)
@@ -247,37 +116,9 @@
 
 include_directories(${JPEG_INCLUDE_DIR} ${GIF_INCLUDE_DIR} ${PNG_INCLUDE_DIR} )
 
-add_subdirectory( kmultipart )
-add_subdirectory( java )
-
 set(CREATE_HASH_TABLE ${CMAKE_SOURCE_DIR}/kjs/create_hash_table )
 
-macro(CREATE_LUT _in_FILE _out_FILE)
 
-   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
-      COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
-      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
-   )
-   macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
-
-endmacro(CREATE_LUT)
-
-create_lut(ecma/kjs_dom.cpp kjs_dom.lut.h)
-create_lut(ecma/kjs_html.cpp kjs_html.lut.h)
-create_lut(ecma/kjs_window.cpp kjs_window.lut.h)
-create_lut(ecma/kjs_css.cpp kjs_css.lut.h)
-create_lut(ecma/kjs_events.cpp kjs_events.lut.h)
-create_lut(ecma/kjs_navigator.cpp kjs_navigator.lut.h)
-create_lut(ecma/kjs_mozilla.cpp kjs_mozilla.lut.h)
-create_lut(ecma/kjs_range.cpp kjs_range.lut.h)
-create_lut(ecma/kjs_traversal.cpp kjs_traversal.lut.h)
-create_lut(ecma/kjs_views.cpp kjs_views.lut.h)
-create_lut(ecma/xmlhttprequest.cpp xmlhttprequest.lut.h)
-create_lut(ecma/xmlserializer.cpp xmlserializer.lut.h)  
-create_lut(ecma/domparser.cpp domparser.lut.h)
-create_lut(ecma/kjs_context2d.cpp kjs_context2d.lut.h)
-
-
 ########### libkhtml ###############
 
 set(khtml_LIB_SRCS
@@ -293,16 +134,7 @@
    khtml_iface.cc
    khtmlimage.cpp
    kjserrordlg.cpp
-   ${khtmlxml_STAT_SRCS}
-   ${khtmlhtml_STAT_SRCS}
-   ${khtmlrender_STAT_SRCS}
-   ${khtmlcss_STAT_SRCS}
-   ${khtmlmisc_STAT_SRCS}
    ${kjs_html_STAT_SRCS}
-   ${khtmldom_STAT_SRCS}
-   ${khtmlimload_STAT_SRCS}
-   ${decoders_STAT_SRCS}
-   ${kjava_STAT_SRCS}
    )
 
 kde4_automoc(${khtml_LIB_SRCS})
@@ -313,7 +145,7 @@
 
 kde4_add_library(khtml SHARED ${khtml_LIB_SRCS})
 
-target_link_libraries(khtml  ${KDE4_KDECORE_LIBS} kparts kdeprint kutils kde3support kwalletclient kjs ${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} )
+target_link_libraries(khtml  ${KDE4_KDECORE_LIBS} kparts kdeprint kutils kde3support kwalletclient kjs ${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} khtml_xml khtml_html khtml_render khtml_css khtml_misc khtml_dom khtml_imload kjava)
 
 set_target_properties(khtml PROPERTIES VERSION 5.0.0 SOVERSION 5 )
 install(TARGETS khtml  DESTINATION ${LIB_INSTALL_DIR} )
@@ -327,7 +159,7 @@
 
 kde4_add_plugin(khtmlpart WITH_PREFIX ${khtmlpart_PART_SRCS})
 
-target_link_libraries(khtmlpart  ${KDE4_KDECORE_LIBS} khtml )
+target_link_libraries(khtmlpart ${KDE4_KDECORE_LIBS} khtml )
 
 kde4_install_libtool_file(${PLUGIN_INSTALL_DIR}/ khtmlpart )
 install(TARGETS khtmlpart  DESTINATION ${PLUGIN_INSTALL_DIR} )
Index: rendering/CMakeLists.txt
===================================================================
--- rendering/CMakeLists.txt	(revision 0)
+++ rendering/CMakeLists.txt	(revision 0)
@@ -0,0 +1,42 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${CMAKE_SOURCE_DIR}/kde3support/kdeui
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_KDEUI_INCLUDES}
+                    ${KDE4_INCLUDES})
+
+set(khtml_render_SRCS
+  bidi.cpp
+  break_lines.cpp
+  render_block.cpp
+  render_inline.cpp
+  render_style.cpp
+  render_object.cpp
+  render_container.cpp
+  render_box.cpp
+  render_flow.cpp
+  render_text.cpp
+  render_arena.cpp
+  render_layer.cpp
+  render_image.cpp
+  render_table.cpp
+  table_layout.cpp
+  render_replaced.cpp
+  render_form.cpp
+  render_list.cpp
+  render_canvas.cpp
+  render_frames.cpp
+  render_br.cpp
+  render_body.cpp
+  font.cpp
+  render_line.cpp
+  render_generated.cpp
+  enumerate.cpp
+  counter_tree.cpp
+  render_canvasimage.cpp
+)
+
+kde4_automoc(${khtml_render_SRCS})
+kde4_add_library(khtml_render STATIC ${khtml_render_SRCS})
+target_link_libraries(khtml_render ${KDE4_KDECORE_LIBS})
Index: java/tests/CMakeLists.txt
===================================================================
--- java/tests/CMakeLists.txt	(revision 562729)
+++ java/tests/CMakeLists.txt	(working copy)
@@ -5,8 +5,8 @@
    set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
 
    include_directories( ${CMAKE_SOURCE_DIR}/khtml/java ${CMAKE_SOURCE_DIR}/khtml )
+   include_directories( ${KDE4_INCLUDES} ${KDE4_KDECORE_INCLUDES} ${KDE4_KDEUI_INCLUDES} ) 
    
-   
    ########### next target ###############
    
    set(testserver_SRCS testkjavaappletserver.cpp )
Index: java/CMakeLists.txt
===================================================================
--- java/CMakeLists.txt	(revision 562729)
+++ java/CMakeLists.txt	(working copy)
@@ -1,10 +1,28 @@
 
 add_subdirectory( tests ) 
 
-include_directories( ${CMAKE_SOURCE_DIR}/khtml ${CMAKE_SOURCE_DIR}/kio/kssl )
 include_directories( ${CMAKE_BINARY_DIR}/kio/kssl )
+include_directories( ${CMAKE_SOURCE_DIR}
+                     ${CMAKE_SOURCE_DIR}/khtml
+                     ${CMAKE_SOURCE_DIR}/kio/kssl
+                     ${KDE4_KDECORE_INCLUDES}
+                     ${KDE4_KIO_INCLUDES}
+                     ${KDE4_KDEUI_INCLUDES}
+                     ${KDE4_INCLUDES} )
 
+set(kjava_SRCS
+  kjavaapplet.cpp
+  kjavaappletcontext.cpp
+  kjavaappletserver.cpp
+  kjavaappletwidget.cpp
+  kjavaprocess.cpp
+  kjavadownloader.cpp
+)
 
+kde4_automoc(${kjava_SRCS})
+kde4_add_library(kjava STATIC ${kjava_SRCS})
+target_link_libraries(kjava ${KDE4_KDECORE_LIBS})
+
 ########### next target ###############
 
 
Index: css/CMakeLists.txt
===================================================================
--- css/CMakeLists.txt	(revision 562729)
+++ css/CMakeLists.txt	(working copy)
@@ -1,4 +1,28 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${CMAKE_SOURCE_DIR}/kwallet
+                    ${CMAKE_SOURCE_DIR}/kwallet/client
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_INCLUDES}
+)
 
+set(khtml_css_SRCS
+  css_stylesheetimpl.cpp
+  css_ruleimpl.cpp
+  css_valueimpl.cpp
+  css_base.cpp
+  cssparser.cpp
+  cssstyleselector.cpp
+  csshelper.cpp
+  parser.cpp
+  css_renderstyledeclarationimpl.cpp
+)
+
+kde4_automoc(${khtml_css_SRCS})
+kde4_add_library(khtml_css STATIC ${khtml_css_SRCS})
+target_link_libraries(khtml_css ${KDE4_KDECORE_LIBS})
+
 ########### install files ###############
 
 install( FILES html4.css quirks.css  DESTINATION  ${DATA_INSTALL_DIR}/khtml/css )
Index: xml/CMakeLists.txt
===================================================================
--- xml/CMakeLists.txt	(revision 0)
+++ xml/CMakeLists.txt	(revision 0)
@@ -0,0 +1,28 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${CMAKE_SOURCE_DIR}/kwallet
+                    ${CMAKE_SOURCE_DIR}/kwallet/client
+                    ${CMAKE_SOURCE_DIR}/kde3support/kdeui
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_KDEUI_INCLUDES}
+                    ${KDE4_INCLUDES})
+
+set(khtml_xml_SRCS
+  dom_docimpl.cpp
+  dom_nodeimpl.cpp
+  dom_textimpl.cpp
+  dom_elementimpl.cpp
+  dom_stringimpl.cpp
+  dom2_rangeimpl.cpp
+  dom2_traversalimpl.cpp
+  xml_tokenizer.cpp
+  dom_xmlimpl.cpp
+  dom2_eventsimpl.cpp
+  dom2_viewsimpl.cpp
+  dom_restyler.cpp
+)
+
+kde4_automoc(${khtml_xml_SRCS})
+kde4_add_library(khtml_xml STATIC ${khtml_xml_SRCS})
+target_link_libraries(khtml_xml ${KDE4_KDECORE_LIBS})
Index: imload/CMakeLists.txt
===================================================================
--- imload/CMakeLists.txt	(revision 0)
+++ imload/CMakeLists.txt	(revision 0)
@@ -0,0 +1,29 @@
+include_directories(${CMAKE_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/khtml
+                    ${CMAKE_SOURCE_DIR}/kwallet
+                    ${CMAKE_SOURCE_DIR}/kwallet/client
+                    ${CMAKE_SOURCE_DIR}/kde3support/kdeui
+                    ${KDE4_KDECORE_INCLUDES}
+                    ${KDE4_KIO_INCLUDES}
+                    ${KDE4_KDEUI_INCLUDES}
+                    ${KDE4_INCLUDES})
+
+set(khtml_imload_SRCS
+  imageplane.cpp
+  rawimageplane.cpp
+  scaledimageplane.cpp
+  pixmapplane.cpp
+  animprovider.cpp
+  imagepainter.cpp
+  updater.cpp
+  image.cpp
+  imagemanager.cpp
+  animtimer.cpp
+  decoders/jpegloader.cpp
+  decoders/pngloader.cpp
+  decoders/gifloader.cpp
+)
+
+kde4_automoc(${khtml_imload_SRCS})
+kde4_add_library(khtml_imload STATIC ${khtml_imload_SRCS})
+target_link_libraries(khtml_imload ${KDE4_KDECORE_LIBS})
