Browse files

Initial checkin, WIP

  • Loading branch information...
0 parents commit 6bbab7465dc2f3ad8cb02823655831186115225c @felixge committed Aug 28, 2012
Showing with 50 additions and 0 deletions.
  1. +1 −0 .gitignore
  2. +49 −0
1 .gitignore
@@ -0,0 +1 @@
@@ -0,0 +1,49 @@
+# depmake
+depmake is a collection of bash functions and conventions for creating
+applications that can bundle all their code and dependencies inside a tar file.
+depmake has a certain overlap with tools such as [chef][] and [puppet][], but
+is much more focused and simple (~500 lines of bash).
+However, [simple does not mean easy][]. depmake is a tool that allows you to
+create simple deployment systems at the cost of more initial work.
+## Overview
+A typical depmake project allows you to check out a fresh copy of your project,
+cd my-project
+cd deps && make
+This will kick off a process in which all your dependencies are built and
+installed into a folder called `stack`. Your `` then contains
+some code like this:
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+export STACK_DIR="${ROOT_DIR}/stack"
+export PATH="${ORIGINAL_PATH}:${STACK_DIR}/bin"
+export CPPFLAGS="-I${STACK_DIR}/include"
+export LDFLAGS="-L${STACK_DIR}/lib"
+export LD_LIBRARY_PATH="${STACK_DIR}/lib"
+export PKG_CONFIG_PATH="${STACK_DIR}/lib/pkgconfig"
+This makes sure that in addition to the usual paths your systems looks
+for binaries, shared libraries, etc., it will also consider the stuff insided
+of the `stack` folder.
+So effictively this creates a virtual environment that is activated by sourcing
+a bash file, and de-activated by starting a new shell session.
+[simple does not mean easy]:

0 comments on commit 6bbab74

Please sign in to comment.