Update dev Makefile to use meson and ninja.

This commit is contained in:
Michael James Gratton 2018-01-15 15:16:57 +11:00
parent 37c218d646
commit cbfb7d571d
2 changed files with 78 additions and 67 deletions

78
Makefile Normal file
View file

@ -0,0 +1,78 @@
#
# Copyright 2016 Software Freedom Conservancy Inc.
#
# This Makefile is for developer convenience, and is optimised for
# development work, not production. Packagers should invoke meson and
# ninja directly.
CONFIGURE := meson \
--buildtype debug \
--warnlevel 3
MAKE := ninja
BUILD_DIR := build
BINARIES := geary geary-console geary-mailer
BUILD_BINARIES := \
$(BUILD_DIR)/src/geary \
$(BUILD_DIR)/src/console/geary-console \
$(BUILD_DIR)/src/mailer/geary-mailer
.DEFAULT: all
.PHONY: all
all: $(BUILD_DIR)
@$(MAKE) -C $(BUILD_DIR)
@cp $(BUILD_BINARIES) .
$(BUILD_DIR):
@$(CONFIGURE) $@
.PHONY: install
install: $(BUILD_DIR)
@$(MAKE) -C $(BUILD_DIR) $@
.PHONY: uninstall
uninstall: $(BUILD_DIR)
@$(MAKE) -C $(BUILD_DIR) $@
.PHONY: geary-pot
geary-pot: $(BUILD_DIR)
@$(MAKE) -C $(BUILD_DIR) $@
# Keep the olde rule For compatibility
.PHONY: pot_file
pot_file: geary-pot
.PHONY: clean
clean: $(BUILD_DIR)
@-$(MAKE) -C $(BUILD_DIR) $@
.PHONY: distclean
distclean:
@-rm -rf $(BUILD_DIR)
@-rm -rf $(BUILD_BINARIES)
@-rm -rf valadoc
@-rm -f po/geary.pot
.PHONY: test
test: $(BUILD_DIR)
@$(MAKE) -C $(BUILD_DIR) $@
.PHONY: test-engine
test-engine: $(BUILD_DIR)
cd $(BUILD_DIR) && meson test engine-tests
.PHONY: test-client
test-client: $(BUILD_DIR)
cd $(BUILD_DIR) && meson test client-tests
.PHONY: dist
dist: tests
@$(MAKE) -C $(BUILD_DIR) $@
@cp -v $(BUILD_DIR)/meson-dist/*.xz* ..
.PHONY: valadoc
valadoc: all
cp -r $(BUILD_DIR)/src/valadoc .

View file

@ -1,67 +0,0 @@
# Makefile.in
#
# Copyright 2016 Software Freedom Conservancy Inc.
BUILD_DIR := build
BINARIES := geary geary-console geary-mailer
BUILD_BINARIES := $(addprefix $(BUILD_DIR)/,$(BINARIES))
.PHONY: all
all:
@$(MAKE) -C $(BUILD_DIR)
@cp $(BUILD_BINARIES) .
.PHONY: install
install:
@$(MAKE) -C $(BUILD_DIR) $@
.PHONY: uninstall
uninstall:
@$(MAKE) -C $(BUILD_DIR) $@
@$(MAKE) -C $(BUILD_DIR) post-uninstall
.PHONY: pot_file
pot_file:
@$(MAKE) -C $(BUILD_DIR) $@
@cp build/po/geary.pot po
.PHONY: clean
clean:
@-$(MAKE) -C $(BUILD_DIR) clean
@-rm -f $(BINARIES)
@-rm -f .stamp
.PHONY: distclean
distclean: clean
@-rm -rf $(BUILD_DIR)
@-rm -f Makefile
.PHONY: tests
tests:
@$(MAKE) -C $(BUILD_DIR) $@
.PHONY: test
test:
@$(MAKE) -C $(BUILD_DIR) tests
.PHONY: test-engine
test-engine:
@$(MAKE) -C $(BUILD_DIR) $@-run
.PHONY: test-client
test-client:
@$(MAKE) -C $(BUILD_DIR) $@-run
.PHONY: dist
dist: tests
@$(MAKE) -C $(BUILD_DIR) dist
@cp build/*.xz .
.PHONY: ubuntu
ubuntu: test
@$(MAKE) -C $(BUILD_DIR) ubuntu
.PHONY: valadoc
valadoc:
@$(MAKE) -C $(BUILD_DIR) valadoc