(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.
- 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_")
- Copy the Imakefile from ../condor_dcskel into your condor_X source directory
- 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)
In the ../Imakefile (the main Imakefile), make the following changes:
- Add your entry to the #define Programs... section (before dcskel in that section)
- !!!add just the name "X", NOT "condor_X"!!!
- Add object_target(X) right before object_target(dcskel)
Go to your build workspace and do
- make reallyclean
- condor_imake // This should create a dir and a Makefile for your new component in the build space
- make release