torognes / swarm

A robust and fast clustering method for amplicon-based studies
GNU Affero General Public License v3.0
123 stars 23 forks source link

Makefile: add an "install" recipe #129

Closed frederic-mahe closed 5 years ago

frederic-mahe commented 5 years ago

users should be able to:

make
# (as root)
make install

to install automatically the binary (/usr/local/bin/?) and the man page.

torognes commented 5 years ago

I've added a top-level makefile that can both compile swarm in the src subdirectory and install the executable and the manual in an appropriate location (/usr/local/bin and /usr/local/share/man/man1, respectively). Now users may issue the following commands in the top-level directory to compile and install swarm:

make
make install

To run make install the user may need to be root or use sudo (sudo make install).

frederic-mahe commented 5 years ago

hum, sorry to be picky but having two Makefiles may confuse users, so I would prefer to have only one. I can merge the two Makefiles to make one, but which one do you think we should keep? The new top-level or the old one?

Keeping the old one would not break any habit of long time swarm users, so it has my preference. What's your opinion?

torognes commented 5 years ago

It is quite common to have several makefiles in different folders to prepare different things in those folders. E.g. one for the code, one for the documentation, others for different libraries etc.

If there should be only one, I would actually prefer to have it in the top-level folder. The users who have downloaded the software then only need to change to the top-level directory and run make there. Now, they need to go further into the src directory first. It also seems a bit odd that a makefile in the src directory references the ../man directory.

frederic-mahe commented 5 years ago

OK, it makes sense. If we agree on the principle of one Makefile, then it will be in the top-level directory. I'll move and modify the file this weekend.

frederic-mahe commented 5 years ago

It turns out I was wrong. Your organization with two Makefiles is easier to grasp and makes for a smoother transition if one day we want to have only one top-level Makefile. I've reverted my modifications in the master branch to go back to your initial commit, but I cannot do it on the zobrist branch (something to do with detached HEAD, I'll have to read git's doc). Could you please revert my changes in zobrist?

Once done, please close this issue.

frederic-mahe commented 5 years ago

@torognes You were right about having a Makefile in the root folder. Could you please revert my changes in zobrist?

Once done, please close this issue.

torognes commented 5 years ago

The src/Makefile in the Zobrist branch has been restored.