Created
January 21, 2012 00:17
-
-
Save ingenthr/1650394 to your computer and use it in GitHub Desktop.
Updating toolchain on CentOS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# This makefile set up all of the build dependencies we need for building | |
# the membase server on RedHat Linux | |
# | |
# For questions please contact [email protected] | |
# | |
# Copyright (c) 2010, Membase, Inc. | |
# All rights reserved. | |
# | |
# Set your path to /opt/local/bin:$PATH, then run make build-compile-env | |
# | |
# To update CA certs: | |
# mkdir -p /root/backup && cp /etc/pki/tls/certs/ca-bundle.crt \ | |
# /root/backup/ && curl http://curl.haxx.se/ca/cacert.pem -o \ | |
# /etc/pki/tls/certs/ca-bundle.crt | |
# | |
PREFIX=/opt/local | |
dirs: ${HOME}/rpmbuild/BUILD \ | |
${HOME}/rpmbuild/RPMS/i386 \ | |
${HOME}/rpmbuild/RPMS/x86_64 \ | |
${HOME}/rpmbuild/SOURCES \ | |
build-compile-env: ${PREFIX} \ | |
${HOME}/.rpmmacros \ | |
/usr/bin/wget \ | |
.deps \ | |
${PREFIX}/bin/autoconf \ | |
${PREFIX}/bin/automake \ | |
${PREFIX}/bin/libtool \ | |
${PREFIX}/bin/git \ | |
# ${PREFIX}/bin/erl \ | |
# ${PREFIX}/bin/ruby \ | |
# ${PREFIX}/bin/gem \ | |
# ${PREFIX}/bin/rake \ | |
# ${PREFIX}/bin/sprocketize \ | |
${HOME}/rpmbuild/BUILD \ | |
${HOME}/rpmbuild/RPMS/i386 \ | |
${HOME}/rpmbuild/RPMS/x86_64 \ | |
${HOME}/rpmbuild/SOURCES \ | |
.deps/autoconf-2.65.tar.gz: | |
(cd .deps; wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.gz) | |
.deps/automake-1.11.tar.gz: | |
(cd .deps; wget http://ftp.gnu.org/gnu/automake/automake-1.11.tar.gz) | |
.deps/libtool-2.2.6b.tar.gz: | |
(cd .deps; wget http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz) | |
.deps/git-1.7.8.3.tar.gz: | |
(cd .deps; wget http://git-core.googlecode.com/files/git-1.7.8.3.tar.gz) | |
.deps/libevent-1.4.13-stable.tar.gz: | |
(cd .deps; wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz) | |
.deps/otp_src_R13B03.tar.gz: | |
(cd .deps; wget http://ftp.sunet.se/pub/lang/erlang/download/otp_src_R13B03.tar.gz) | |
${PREFIX}:; -@sudo mkdir ${PREFIX} && sudo chown `whoami` ${PREFIX} | |
.deps:; -@mkdir $@ | |
${HOME}/rpmbuild/BUILD:; -@mkdir -p $@ | |
${HOME}/rpmbuild/RPMS/i386:; -@mkdir -p $@ | |
${HOME}/rpmbuild/RPMS/x86_64:; -@mkdir -p $@ | |
${HOME}/rpmbuild/SOURCES:; -@mkdir -p $@ | |
${HOME}/rpmbuild/SRPMS:; -@mkdir -p $@ | |
${HOME}/.rpmmacros: | |
touch ${HOME}/.rpmmacros | |
grep -v '%_topdir %(echo $$HOME)/rpmbuild' ${HOME}/.rpmmacros > /tmp/rpmmacros.tmp || /bin/true | |
echo '%_topdir %(echo $$HOME)/rpmbuild' >> /tmp/rpmmacros.tmp | |
mv /tmp/rpmmacros.tmp ${HOME}/.rpmmacros | |
${HOME}/rpmbuild/SOURCES/otp_src_R13B03.tar.gz: .deps/otp_src_R13B03.tar.gz | |
cp .deps/otp_src_R13B03.tar.gz ${HOME}/rpmbuild/SOURCES | |
erlang.rpm ${HOME}/rpmbuild/RPMS/x86_64/erlang-13.3-1.x86_64.rpm ${HOME}/rpmbuild/RPMS/i386/erlang-13.3-1.i386.rpm: ${HOME}/rpmbuild/SOURCES/otp_src_R13B03.tar.gz | |
rpmbuild -bb RedHat/erlang.spec | |
/usr/bin/wget: | |
sudo yum install wget | |
${PREFIX}/bin/erl: .deps/otp_src_R13B03.tar.gz | |
gtar xfz .deps/otp_src_R13B03.tar.gz | |
@(cd otp_src_R13B03; ./configure --prefix=${PREFIX}/erlang && ${MAKE} all install) | |
ln -s ../erlang/bin/erl ${PREFIX}/bin/erl | |
ln -s ../erlang/bin/erlc ${PREFIX}/bin/erlc | |
ln -s ../erlang/bin/epmd ${PREFIX}/bin/epmd | |
ln -s ../erlang/bin/run_erl ${PREFIX}/bin/run_erl | |
ln -s ../erlang/bin/to_erl ${PREFIX}/bin/to_erl | |
ln -s ../erlang/bin/dialyzer ${PREFIX}/bin/dialyzer | |
ln -s ../erlang/bin/typer ${PREFIX}/bin/typer | |
ln -s ../erlang/bin/escript ${PREFIX}/bin/escript | |
rm -rf otp_src_R13B03 | |
${PREFIX}/bin/automake: .deps/automake-1.11.tar.gz | |
gtar xfz .deps/automake-1.11.tar.gz | |
@(cd automake-1.11; ./configure --prefix=${PREFIX} && ${MAKE} all install) | |
rm -rf automake-1.11 | |
${PREFIX}/bin/autoconf: .deps/autoconf-2.65.tar.gz | |
gtar xfz .deps/autoconf-2.65.tar.gz | |
@(cd autoconf-2.65; ./configure --prefix=${PREFIX} && ${MAKE} all install) | |
rm -rf autoconf-2.65 | |
${PREFIX}/bin/libtool: .deps/libtool-2.2.6b.tar.gz | |
gtar xfz .deps/libtool-2.2.6b.tar.gz | |
@(cd libtool-2.2.6b; ./configure --prefix=${PREFIX} && ${MAKE} all install) | |
rm -rf libtool-2.2.6b | |
/usr/include/zlib.h: | |
sudo yum install zlib-devel | |
${PREFIX}/bin/git: .deps/git-1.7.8.3.tar.gz /usr/include/zlib.h | |
gtar xfz .deps/git-1.7.8.3.tar.gz | |
@(cd git-1.7.8.3; ./configure --prefix=${PREFIX} && ${MAKE} all install) | |
rm -rf git-1.7.8.3 | |
.deps/ruby-1.8.7.tar.gz: .deps | |
(cd .deps && wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz) | |
.deps/rubygems-1.3.7.tgz: .deps | |
(cd .deps && wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz) | |
${PREFIX}/bin/ruby: .deps/ruby-1.8.7.tar.gz | |
gtar xfz .deps/ruby-1.8.7.tar.gz | |
(cd ruby-1.8.7; ./configure --prefix=${PREFIX} && ${MAKE} all install) | |
${PREFIX}/bin/gem: .deps/rubygems-1.3.7.tgz ${PREFIX}/bin/ruby | |
gtar xfz .deps/rubygems-1.3.7.tgz | |
(cd rubygems-1.3.7; ${PREFIX}/bin/ruby setup.rb) | |
${PREFIX}/bin/rake: ${PREFIX}/bin/gem | |
${PREFIX}/bin/gem install rake | |
${PREFIX}/bin/sprocketize: ${PREFIX}/bin/gem | |
${PREFIX}/bin/gem install sprockets |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment