reanahub / reana

REANA: Reusable research data analysis platform
https://docs.reana.io
MIT License
127 stars 54 forks source link

make: declare phony decorators #350

Closed Sinclert closed 4 years ago

Sinclert commented 4 years ago

When working with the Makefile I ran into a small issue that can bite us in the future.


Makefile rules are designed to check for a file / folder with that name before executing the shell commands inside of them. I think the original idea was to use those rules as compilation commands to get a certain output from a given input.

Makefiles has evolved and that may not be the case for a lot of projects, being REANA one of them. In our case, the Makefile is used as collection of "entrypoints" to different sequences of shell commands. That way of interacting with a Makefile is covered by PHONY targets.


Indeed, if anyone runs:

python setup.py install

A build folder would appear on the project root directory, making the Makefile build rule unusable.


My proposal is to decorate every Makefile rule with a preceding .PHONY: <name_of_rule>.

What do you think?

tiborsimko commented 4 years ago

Hi @Sinclert, the make is being deprecated, all the functionality is being moved to reana-dev in the upstream/kind branch, see https://github.com/reanahub/reana/issues/304. Everything works there except the release build targets... so we'll be removing Makefile soon. I'm therefore closing the issue.

Sinclert commented 4 years ago

Thanks @tiborsimko, all clear now.