Extra include files for hooks I'd like to organize a .module file better by putting related hooks in other .inc files.  So for example, I'd like to take a bunch of imagecache preset definitions (via hook_imagecache_default_presets) out of custom.module and put them in custom.imagecache.inc.

Where in custom.module should I include custom.imagecache.inc?  I assume I'll be using module_load_include()?

If I put it in a hook_init wouldn't that include these hook definitions on every page request?
Current answer is not 100% correct for Drupal 7. In Drupal 7 there is a hook called hook_hook_info. In core this is implemented with the token module via system_hook_info. That means that for tokens the hook can be located inside of module_name.tokens.inc. So yes you can put hooks in related files by groups. Just remember that hook_hook_info must be inside of your .module file.

An example using blocks

&lt;?php
/**
 * Implements hook_hook_info().
 */
function mymodule_hook_info() {
  $hooks['block_configure'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_info'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_info_alter'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_list_alter'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_save'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_view'] = array(
    'group' =&gt; 'blocks',
  );
  $hooks['block_view_alter'] = array(
    'group' =&gt; 'blocks',
  );

  return $hooks;
}
?&gt;


You should be able to then use a mymodule.blocks.inc file to hold all your blocks information as long at the above code/hook is inside of your .module file.