The
wiki page for creating extensions indicates that several steps of the creation process can be automated. In the past, I wrote scripts for myself to automate the entire process for extensions I submit, and I recently started rewriting them for public release. I am releasing my scripts with the intention of easing the burden of creating extensions. It is currently in a feature-incomplete (alpha) state. Any suggestions or comments are welcome. This initial release is for inspection only. It does not create submission-quality extensions. Further releases will add functionality until I consider it to be a feature-complete beta state.
The "make extension" script is called "me." It relies on a specific directory structure. This is an example of the file structure for compiling bzip2 on TC 6.0:
me
bin/prebuild.sh
bin/6/core.gz
project/bzip2/build.sh
project/bzip2/bzip2-1.0.6.tar.gz
project/bzip2/desc
WHERE
me and bin/prebuild.sh are attached to this post.
bin/6/core.gz is from the TC 6.0 iso image
project/bzip2/bzip2-1.0.6.tar.gz is the source code from
http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gzproject/bzip2/desc is a blank file (for now)
project/bzip2/build.sh contains the following:
make CFLAGS="$CFLAGS"
make -f Makefile-libbz2_so CFLAGS="$CFLAGS"
make install
mkdir -p /usr/local/lib/
mv libbz2.so* /usr/local/lib/
ln -s libbz2.so.1.0.6 /usr/local/lib/libbz2.so
ln -s libbz2.so.1.0.6 /usr/local/lib/libbz2.so.1