Make alpha: Difference between revisions
From genomewiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
<UL> | <UL> | ||
<LI>use a local filesystem to the development machine to save compile time</LI> | <LI>use a local filesystem to the development machine to save compile time</LI> | ||
<LI>i.e. performing the build via an NFS filesystem is highly inefficient</LI> | |||
<LI>use a completely clean checkout of the source tree to use only top-of-tree source</LI> | <LI>use a completely clean checkout of the source tree to use only top-of-tree source</LI> | ||
<LI> | <LI>notify browser staff via email when install is done so everyone is aware that genome-test has changed</LI> | ||
</UL> | |||
The recommended sequence is: | |||
<PRE> | |||
$ cd /scratch/$LOGNAME # work in local filesystem, mkdir here if you need to | |||
$ mv kent kent.old | |||
$ rm -fr kent.old & # remove any previous builds while new one takes place | |||
$ cvs co kent # checkout completely new source tree | |||
# this checkout can take several minutes depending upon | |||
# network traffic | |||
$ cd kent/src # the make command below uses 4 CPUs. nice it down | |||
# this make takes less than 30 seconds | |||
$ MAKE="make -j 4" nice -n +19 make -j 4 alpha > alpha.out 2>&1 | |||
# use the following grep to check for build errors | |||
$ egrep -y "erro|warn" alpha.out | egrep -v "Werror|disabling jobserver mode" | |||
</PRE> | |||
This procedure is explicitly <B>not</B> encapsulated into a script because it is important for developers to understand what is happening here. You can make your own script if you want, but please understand what is happening here. | |||
[[Category:Browser Development]] | [[Category:Browser Development]] |
Revision as of 22:14, 26 October 2006
The 'make alpha' makefile target in the kent source tree is used to build the CGI binaries and related data files into the /usr/local/apache/cgi-bin/ hierarchy.
After a new browser feature is developed the 'make alpha' is used to deliver this feature to the genome-test browser to allow QA and other users of genome-test to begin testing the new feature.
To use the 'make alpha' procedure, keep in mind the following:
- use a local filesystem to the development machine to save compile time
- i.e. performing the build via an NFS filesystem is highly inefficient
- use a completely clean checkout of the source tree to use only top-of-tree source
- notify browser staff via email when install is done so everyone is aware that genome-test has changed
The recommended sequence is:
$ cd /scratch/$LOGNAME # work in local filesystem, mkdir here if you need to $ mv kent kent.old $ rm -fr kent.old & # remove any previous builds while new one takes place $ cvs co kent # checkout completely new source tree # this checkout can take several minutes depending upon # network traffic $ cd kent/src # the make command below uses 4 CPUs. nice it down # this make takes less than 30 seconds $ MAKE="make -j 4" nice -n +19 make -j 4 alpha > alpha.out 2>&1 # use the following grep to check for build errors $ egrep -y "erro|warn" alpha.out | egrep -v "Werror|disabling jobserver mode"
This procedure is explicitly not encapsulated into a script because it is important for developers to understand what is happening here. You can make your own script if you want, but please understand what is happening here.