All ProjectsHome
csb
csb/Makefile
Makefile Raw
PREFIX ?= /usr/local
gobins := csb-index csb-tree csb-json csb-config csb-optparse
TEMPLATEFILES = $(shell find src/templates/ -type f)

all: builddir $(gobins) templates

builddir: $(shell find src/ -type f)
	mkdir -p build
	cp -R src/libexec build

templates: $(TEMPLATEFILES) src/csb-templates.in
	cp src/csb-templates.in build/libexec/csb-templates
	tar -cz -C src/templates . | uuencode /dev/stdout >> build/libexec/csb-templates
	echo EOF >> build/libexec/csb-templates
	chmod +x build/libexec/csb-templates

$(gobins) : % : src/%.go godeps
	go build -o build/libexec/$@ $< 

godeps:
	cd src && go get -d ./...

install: all
	install -d $(PREFIX)/bin $(PREFIX)/libexec
	install build/libexec/* $(PREFIX)/libexec
	sed -i "/PREFIX=/c\PREFIX=$(PREFIX)" $(PREFIX)/libexec/csb
	ln -sf ../libexec/csb $(PREFIX)/bin/csb

clean:
	rm -rf build