httpdを起動するMakeターゲット

自サイトの確認にhttpdをnode.jsやらRubyWEBrickやらで起動するのが面倒だったので、
お気に入りのmongoose httpdをダウンロード、コンパイル、実行までしてくれるMakeのターゲットを書いてみたのですよ。
ターゲットというよりかはほとんどシェルスクリプト(bash)なのですけど。

.PHONY: httpd
httpd:
  @if [ ! -f './mongoose' ]; \
  then \
    os=; \
    case "`uname`" in \
      'Darwin') os=mac;; \
      'Linux')  os=linux;; \
    esac; \
    curl -O 'http://mongoose.googlecode.com/files/mongoose-3.1.tgz' && \
    tar xfz ./mongoose-3.1.tgz && \
    $(MAKE) $$os -C ./mongoose && \
    mv ./mongoose/mongoose ./mongoose_ && \
    rm -r ./mongoose ./mongoose-3.1.tgz && \
    mv ./mongoose{_,}; \
  fi
  -./mongoose -d no -i index.html -r ./

MacOSLinuxに対応しております。Windowsはバイナリを落としてくるだけなので必要なし。
というか普通にMakeやcurlが入ってるWindows環境って少ないだろうし……


これであとは

$ make httpd

と実行すればmongooseがない場合はダウンロード、コンパイルをしてから実行します。
すでに存在している場合はそのまま実行!


面倒なことは自動化すると楽でいいね!