diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..a157c287 --- /dev/null +++ b/Makefile @@ -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 . diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 27e09bbe..00000000 --- a/Makefile.in +++ /dev/null @@ -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