rcedgar / muscle

Multiple sequence and structure alignment with top benchmark scores scalable to thousands of sequences. Generates replicate alignments, enabling assessment of downstream analyses such as trees and predicted structures.
https://drive5.com/muscle
GNU General Public License v3.0
203 stars 22 forks source link

Simplify and standardise Makefile #7

Closed nsoranzo closed 2 years ago

rcedgar commented 3 years ago

Hi @nsoranzo thanks for this. @joelb123 suggested similar changes to the Makefile. The problem here is that the Makefiles (plural) in this project are generated automatically from Microsoft Visual Studio projects, so your proposed changes are not maintainable from my perspective. This means that the next time I post an update to the muscle repo, the Makefile will revert to its previous format -- better to be consistent IMO. I posted the script here: https://github.com/rcedgar/vcxproj2makefile. If you can modify the python script to generate a "better" Makefile from a vcxproj file, that's an update I would consider. You could use the muscle5.vcxproj file as a test case.

rcedgar commented 3 years ago

Great, I see you understand Makefiles -- I find the syntax to be deeply obscure :-) Any chance you can also enable ccache if it's there? Fine if not, I'm up for adopting this and seeing how it goes.

nsoranzo commented 3 years ago

Any chance you can also enable ccache if it's there? Fine if not, I'm up for adopting this and seeing how it goes.

It can be done, but I'd lean towards having the user enable ccache explicitly with make CXX=ccache g++ (or they can define an alias for g++).

mschubert commented 2 years ago

If I may add a comment here: As a package maintainer, it would be nice to have a Linux-compatible Makefile (i.e., this PR) also in addition to the one generated by VSCode (if you want to keep that)