kipyin/pokemaster

Invoke vs Makefile

Closed this issue · 2 comments

I've been debating about this some time ago, and this choice has come to me recently once again (the use-invoke branch is still active lol).

Anyway, the outcomes are the same regardless of the tool.

Pros for using invoke:

  • It behaves the same regardless of the platform!
  • It's in Python.
  • So people know how to use it as long as they know how to use Python.
  • Better readability with docstrings.
  • Complex commands can be easily written.
  • No tabs.

Pros for using Makefile:

  • I'm already using it.
  • Since invoke and Makefile are pretty much the same, why bother.
  • Adding a make.bat for Windows is about the same workload as switching to invoke.
  • Makefile is much more widely used and popular than invoke (so what?).
  • Not that hard to learn for people who don't know.

I prefer using invoke.

112646a provides a draft version of tasks.py that implements the same functionalities as Makefile.

6135b4d implements invoke.