Valid
	XHTML 1.1! Valid CSS!
Created 2009-05-20   Modified 2009-06-04
Chelton Evans

proj makefilebuildtool home

Intro
Comparision
C++/Bash Makefile Build Tools
Issues
Bash Setup

Intro

Implemented a makefile build tool in C++, within a Unix (bash) environment - with minimal Perl system integration.

Extending application.

See xml state

Source

Files

Makefile
cfcontainerhash.cpp
cfcontainerhash.h
cfcontainerhashtest.cpp
cfcontainerhashtest.h
cfcontainervec.cpp
cfcontainervec.h
cireport.cpp
cireport.h
cireporttest.cpp
cireporttest.h
compilationfile.cpp
compilationfile.h
compilationfiletest.cpp
compilationfiletest.h
createmakefile.h
createmakefiletest.cpp
createmakefiletest.h
exitint.cpp
exitint.h
html.cpp
html.h
htmltest.cpp
htmltest.h
main.cpp
makefilebtglobals.cpp
makefilebtglobals.h
makestate.h
makestatetest.cpp
makestatetest.h
mkerrors.cpp
mkerrors.h
mkerrorsconfig.cpp
mkerrorsconfig.h
mkerrorsstate.cpp
mkerrorsstate.h
mkerrorstest.cpp
mkerrorstest.h
modulelist.cpp
modulelist.h
modulelisttest.cpp
modulelisttest.h
modulereport.cpp
modulereport.h
processqueuebuild.h
projfiles.h
projfilestest.cpp
projfilestest.h
projprint.cpp
projprint.h
projunittest.cpp
projunittest.h
projunittests.cpp
projunittests.h
systemcalls.cpp
systemcalls.h
systemcallstest.cpp
systemcallstest.h

cmd001.txt
cmd002.txt
cmd003.txt
projcompile.txt
state.txt
testscript001.txt
unittestsreport.txt

Doxygen

main.cpp
Makefile
cfcontainerhash
cfcontainerhashtest
cfcontainervec
cireport
cireporttest
compilationfile
compilationfiletest
createmakefile
createmakefiletest
exitint
html
htmltest
makefilebtglobals
makestate
makestatetest
mkerrorscompile
mkerrorscompiletag
mkerrorsconfig
mkerrorsstate
mkerrorstest
modulelist
modulelisttest
modulereport
modulestate
processqueuebuild
projfiles
projfilestest
projprint
projunittest
projunittests
systemcalls
systemcallseval
systemcallstest
unittestcmd

Comparision

I had previouly written the makefile generation tool in bash. The C++ implementation is roughly 3 to 4 times faster than the bash version for non-small projects.

Hash table was slightly faster than with the vector data structure.

time02img01small.png
Timmings on a MacBook Pro - time02.csv

time01img01small.png
Timmings on Pentium D Linux Box - time01.csv

Issues