Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build process automation with makefile #4506

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Cadavanaugh
Copy link

@Cadavanaugh Cadavanaugh commented Mar 14, 2025

I'm new to contributing to Memos and the build process was quite a fricction for the fresh start of developing new features.
I automated this simple, yet annoying and repetitive process, by creating a makefile that do the job for us.
Make is a software that comes preinstalled in most linux flavors (such as Ubuntu, Debian, Fedora, Red Hat, CentOS, Arch Linux, openSUSE etc) and it's widely used in the IT industry as a tool for automating scripts and therefore building processes. This change will reduce the mental workload for new and current contributors.

image

@Cadavanaugh Cadavanaugh requested a review from boojack as a code owner March 14, 2025 03:08
@ehsundar
Copy link
Contributor

Make is a limited/obsolete build system for C/C++ projects. It describes how a missing object can be built to be used by the linker so that it constructs the executable. Following the principle, you should have named the build_backend --> build/memos to construct the missing object accompanying a clean. However, I've found the Makefile irrelevant in Go or Python projects as it comes with additional complexity over time, and adds nothing to the project. I personally believe that .sh files serve the purpose best and they run anywhere without the need of learning extra syntax.

@Cadavanaugh
Copy link
Author

Besides all the cons you mentioned don’t you think it’s a good workaround to simplify the build process by reducing it to a single command? What other tools you suggest we use to achieve the same goal?

@ehsundar
Copy link
Contributor

Why not scripts/build.sh && build/memos --mode=dev. Don't see the necessity to add a new dependency to the project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants