How to add a new component into the build system: (By Carey. Loosely based on YIM dialogue with Peter Keller) Here we use terms "source" and "build" workspace. The "source" ws is what CVS makes when you do a check out. The "build" workspace is where you build, it has symmlinks to the source files in the "source" workspace, the Makefile, etc. 1: Add your source files to a subdirectory in the source workspace, entitled "condor_X", where X is the name of your component (make sure it's prefixed with "condor_") 1: Copy the Imakefile from ../condor_dcskel into your condor_X source directory 1: Edit the Imakefile as necessary - you need to include $(DAEMONCORE_LIB) into LIB= section iff your component is a DaemonCore process (e.g. condor_startd , as opposed to a standalone tool like condor_submit) 1: In the ../Imakefile (the main Imakefile), make the following changes: 1:: Add your entry to the #define Programs... section (before dcskel in that section) 1:: !!!add just the name "X", NOT "condor_X"!!! 1:: Add object_target(X) right before object_target(dcskel) 1: Go to your build workspace and do 1:: make reallyclean 1:: condor_imake // This should create a dir and a Makefile for your new component in the build space 1:: make 1:: make release