Newer
Older
tools-builder / makefile
# Produce standard tools tarballs using linuxbrew

# Customize the variables as desired

EXPORTDIR = /shared
INSTALLDIR = /opt/TundraWare
TOOLS = tools
LANGS = perl python
MYTOOLS = emacs file-formula joe git htop nload nmap screen the_silver_searcher tree vim
PIPMODULES = ansible pew pew[pythonz]

# Nothing below here should need changing

TOOLSDIR = ${INSTALLDIR}/${TOOLS}
BREW = ${TOOLSDIR}/bin/brew -v
DATESTAMP = $(shell date +%Y%m%d)

# Get latest linuxbrew

getbrew:
	@echo "Make sure you have write permission on the target directory!"
	git clone https://github.com/Linuxbrew/brew.git ${TOOLSDIR}

bootstrap-build:
	@echo "Make sure you have the OS development tools installed!"
	${BREW} install gcc make

bootstrap-release: tidyup
	cd ${INSTALLDIR} && mv -v ${TOOLS} ${TOOLS}-bootstrap-${DATESTAMP}
	cd ${INSTALLDIR} && tar -czvf ${EXPORTDIR}/${TOOLS}-bootstrap-${DATESTAMP}.tar.gz ${TOOLS}-bootstrap-${DATESTAMP}

full-build:
	@echo "Make sure your OS autoconf, automake, and perl are installed!"
	@echo "Make sure the bootstrap is installed at ${TOOLSDIR}"
	${BREW} install ${LANGS}
	ln -nfs ${INSTALLDIR}/${TOOLS}/bin/python2 ${INSTALLDIR}/${TOOLS}/bin/python
	ln -nfs ${INSTALLDIR}/${TOOLS}/bin/pip2 ${INSTALLDIR}/${TOOLS}/bin/pip
	pip install ${PIPMODULES} -U --ignore-installed
	${BREW} install ${MYTOOLS}

full-release: tidyup
	cd ${INSTALLDIR} && mv -v ${TOOLS} ${TOOLS}-${DATESTAMP}
	cd ${INSTALLDIR} && tar -czvf ${EXPORTDIR}/${TOOLS}-${DATESTAMP}.tar.gz ${TOOLS}-${DATESTAMP}

tidyup:
	${BREW} config
	${BREW} prune
	${BREW} cleanup
	-${BREW} doctor

clean:
	cd ${INSTALLDIR} && rm -vrf ${TOOLS} ${TOOLS}-bootstrap-${DATESTAMP} ${TOOLS}-${DATESTAMP}