Browse Source

Merge pull request #117 from deathwish/improve-makefile

Improve makefile
pull/118/head
Simon Eisenmann 11 years ago
parent
commit
b31adb67bb
  1. 2
      .gitignore
  2. 68
      Makefile.am
  3. 21
      configure.ac

2
.gitignore vendored

@ -29,8 +29,6 @@ Makefile @@ -29,8 +29,6 @@ Makefile
Makefile.in
aclocal.m4
autom4te.cache/
config.h
config.h.in
config.status
configure
install-sh

68
Makefile.am

@ -21,19 +21,17 @@ @@ -21,19 +21,17 @@
AUTOMAKE_OPTIONS = -Wno-portability
ACLOCAL_AMFLAGS = -I m4
PKG := app/spreed-webrtc-server
EXENAME := spreed-webrtc-server
CONFIG_FILE ?= spreed-webrtc-server.conf
CONFIG_PATH ?= /etc
GOBUILDFLAGS ?=
GOTESTFLAGS ?=
DESTDIR ?= /
VENDOR = "$(CURDIR)/vendor"
GOPATH = "$(VENDOR):$(CURDIR)"
SYSTEM_GOPATH := /usr/share/gocode/src/
OUTPUT := $(CURDIR)/bin
OUTPUT_JS := $(CURDIR)/build/out
DESTDIR ?= /
BIN := $(DESTDIR)/usr/sbin
CONFIG_DIR := $(DESTDIR)/$(CONFIG_PATH)
SHARE := $(DESTDIR)/usr/share/spreed-webrtc-server
@ -46,39 +44,42 @@ DIST_BIN := $(DIST)/bin @@ -46,39 +44,42 @@ DIST_BIN := $(DIST)/bin
all: build
build: get binary assets
build: binary assets
gopath:
@echo GOPATH=$(GOPATH)
if READONLY_VENDOR_GOPATH
export GOPATH = $(DIST):$(CURDIR)
get: $(DIST)
ln -sf $(VENDOR_GOPATH)/src -t $(DIST)
else
export GOPATH = $(VENDOR_GOPATH):$(CURDIR)
get:
GOPATH=$(GOPATH) $(GO) get $(PKG)
endif
$(GO) get app/...
getupdate:
rm -rf vendor/*
GOPATH=$(GOPATH) $(GO) get $(PKG)
getupdate: vendorclean get
binary:
GOPATH=$(GOPATH) $(GO) build -o $(OUTPUT)/$(EXENAME) -ldflags '$(LDFLAGS)' $(PKG)
binary: get
$(GO) build $(GOBUILDFLAGS) -o $(OUTPUT)/$(EXENAME) -ldflags '$(LDFLAGS)' app/$(EXENAME)
binaryrace:
GOPATH=$(GOPATH) $(GO) build -race -o $(OUTPUT)/$(EXENAME) -ldflags '$(LDFLAGS)' $(PKG)
binaryrace: GOBUILDFLAGS := $(GOBUILDFLAGS) -race
binaryrace: binary
binaryall:
GOPATH=$(GOPATH) $(GO) build -a -o $(OUTPUT)/$(EXENAME) -ldflags '$(LDFLAGS)' $(PKG)
binaryall: GOBUILDFLAGS := $(GOBUILDFLAGS) -a
binaryall: binary
fmt:
GOPATH=$(GOPATH) $(GO) fmt app/...
$(GO) fmt app/...
test: TESTDEPS = $(shell GOPATH=$(GOPATH) $(GO) list -f '{{.ImportPath}}{{"\n"}}{{join .Deps "\n"}}' $(PKG) | $(GREP) $(PKG))
test: get
GOPATH=$(GOPATH) $(GO) test -i $(TESTDEPS)
GOPATH=$(GOPATH) $(GO) test -v $(TESTDEPS)
$(GO) test $(GOTESTFLAGS) app/...
assets: javascript fonts
releaseassets: RJSFLAGS = generateSourceMaps=false preserveLicenseComments=true
releaseassets: dist_gopath assets
releaseassets: assets
fonts:
$(MKDIR_P) $(CURDIR)/static/fonts
@ -113,13 +114,9 @@ extract-i18n: @@ -113,13 +114,9 @@ extract-i18n:
update-i18n:
cd $(CURDIR)/src/i18n && $(MAKE) update
release: GOPATH = "$(DIST):$(VENDOR):$(CURDIR)"
release: LDFLAGS = -X main.version $(PACKAGE_VERSION) -X main.defaultConfig $(CONFIG_PATH)/$(CONFIG_FILE)
release: OUTPUT = $(DIST_BIN)
release: dist_gopath $(DIST_BIN) binary releaseassets
releasetest: GOPATH = "$(DIST):$(VENDOR):$(CURDIR)"
releasetest: dist_gopath test
release: $(DIST_BIN) binary releaseassets
install:
echo $(BIN)
@ -147,28 +144,25 @@ install: @@ -147,28 +144,25 @@ install:
$(INSTALL) -D static/js/libs/webodf.js $(SHARE)/www/static/js/libs/webodf.js
clean:
GOPATH=$(GOPATH) $(GO) clean -i $(PKG)
rm -rf $(CURDIR)/pkg
$(GO) clean -i -r app/... 2>/dev/null || true
rm -rf $(CURDIR)/static/fonts
rm -rf $(CURDIR)/build/out
distclean: clean
rm -rf $(DIST)
pristine: distclean
rm -f server.conf
vendorclean:
rm -rf vendor/*
$(DIST_SRC):
pristine: distclean vendorclean
rm -f server.conf
$(DIST):
$(MKDIR_P) $@
$(DIST_BIN):
$(MKDIR_P) $@
dist_gopath: $(DIST_SRC)
$(FIND) $(SYSTEM_GOPATH) -mindepth 1 -maxdepth 1 -type d \
-exec ln -sf {} $(DIST_SRC) \;
tarball: TARPATH = $(DIST)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
tarball: BIN = $(TARPATH)/loader
tarball: CONFIG_DIR = $(TARPATH)/loader
@ -178,4 +172,4 @@ tarball: distclean release install @@ -178,4 +172,4 @@ tarball: distclean release install
echo -n $(PACKAGE_VERSION) > $(TARPATH)/version.txt
tar czf $(DIST)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)_$(BUILD_OS)_$(BUILD_ARCH).tar.gz -C $(DIST) $(PACKAGE_NAME)-$(PACKAGE_VERSION)
.PHONY: clean distclean pristine get getupdate build javascript fonts styles release releasetest dist_gopath install gopath binary binaryrace binaryall tarball assets
.PHONY: clean distclean vendorclean pristine get getupdate build javascript fonts styles release releasetest dist_gopath install gopath binary binaryrace binaryall tarball assets

21
configure.ac

@ -39,7 +39,6 @@ NODEJS_VERSION_STYLES_MIN=0.10.0 @@ -39,7 +39,6 @@ NODEJS_VERSION_STYLES_MIN=0.10.0
SASS_VERSION_MIN=3.3.0
AC_CONFIG_SRCDIR([src/app/spreed-webrtc-server/main.go])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
dnl required version of automake
@ -54,14 +53,7 @@ AC_PROG_GREP @@ -54,14 +53,7 @@ AC_PROG_GREP
AC_PROG_SED
AC_PROG_AWK
AC_SUBST(MKDIR_P)
AC_SUBST(INSTALL)
AC_SUBST(GREP)
AC_SUBST(SED)
AC_SUBST(AWK)
AC_PATH_PROGS([FIND],[find])
AC_SUBST(FIND)
AC_PATH_PROG([JSHINT],jshint, [], [$PWD/node_modules/.bin$PATH_SEPARATOR$PATH])
if test x"${JSHINT}" != x"" ; then
@ -76,7 +68,6 @@ if test x"${PYTHON}" != x"" ; then @@ -76,7 +68,6 @@ if test x"${PYTHON}" != x"" ; then
PYTHON_VERSION=`$PYTHON --version 2>&1 | $SED 's/^Python //'`
AC_MSG_RESULT([$PYTHON_VERSION])
fi
AC_SUBST(PYTHON)
AC_PATH_PROGS([GO],[go])
if test x"${GO}" == x"" ; then
@ -88,7 +79,13 @@ GO_VERSION=`$GO version | $SED 's/^go version go//' | $SED 's/ .*//'` @@ -88,7 +79,13 @@ GO_VERSION=`$GO version | $SED 's/^go version go//' | $SED 's/ .*//'`
AC_MSG_RESULT([$GO_VERSION])
AX_COMPARE_VERSION([$GO_VERSION], [lt], [$GO_VERSION_MIN],
[AC_MSG_ERROR([Please install Go $GO_VERSION_MIN or newer before trying to build spreed-webrtc (found Go $GO_VERSION).])])
AC_SUBST(GO)
AC_ARG_VAR(VENDOR_GOPATH, [Path used to locate third-party Go code, defaults to $PWD/vendor])
AC_MSG_CHECKING([third-party Go source code path])
AM_CONDITIONAL([DEFAULT_VENDOR_GOPATH], [test x"${VENDOR_GOPATH}" == x""])
AM_CONDITIONAL([READONLY_VENDOR_GOPATH], [test -n "${VENDOR_GOPATH}" -a ! -w "${VENDOR_GOPATH}"])
AM_COND_IF(DEFAULT_VENDOR_GOPATH, [AC_SUBST(VENDOR_GOPATH, $PWD/vendor)])
AC_MSG_RESULT([$VENDOR_GOPATH])
AC_PATH_PROGS([NODEJS],[nodejs node])
if test x"${NODEJS}" == x"" ; then
@ -103,7 +100,6 @@ else @@ -103,7 +100,6 @@ else
[AC_MSG_WARN([Please install node.js $NODEJS_VERSION_STYLES_MIN or newer before trying to build styles (found node.js $NODEJS_VERSION).])
NODEJS_SUPPORT_STYLES=no],[NODEJS_SUPPORT_STYLES=yes])
fi
AC_SUBST(NODEJS)
AC_SUBST(NODEJS_SUPPORT_STYLES)
AC_PATH_PROGS([COMPASS],[compass])
@ -114,7 +110,6 @@ else @@ -114,7 +110,6 @@ else
COMPASS_VERSION=`$COMPASS --version | $AWK 'NR==1' | $SED 's/^Compass //' | $SED 's/ .*//'`
AC_MSG_RESULT([$COMPASS_VERSION])
fi
AC_SUBST(COMPASS)
AC_PATH_PROGS([SASS],[sass])
if test x"${SASS}" == x"" ; then
@ -127,7 +122,6 @@ else @@ -127,7 +122,6 @@ else
[AC_MSG_WARN([Please install compass with sass $SASS_VERSION_MIN or newer before trying to build styles (found sass $SASS_VERSION).])
SASS_SUPPORT_STYLES=no],[SASS_SUPPORT_STYLES=yes])
fi
AC_SUBST(SASS)
if test x"${SASS}" != x"" ; then
AC_MSG_CHECKING([for compass support in sass])
@ -164,7 +158,6 @@ else @@ -164,7 +158,6 @@ else
PYBABEL_VERSION=`$PYBABEL --version | $SED 's/^pybabel //'`
AC_MSG_RESULT([$PYBABEL_VERSION])
fi
AC_SUBST(PYBABEL)
AC_PATH_PROGS([NPM],[npm])
NODEJS_SUPPORT_PO2JSON=no

Loading…
Cancel
Save