A handy makefile for simple C/C++ applications
Easymake is a handy makefile for C/C++ applications on Linux system. For simple applications, you don’t even need to write a single line of makefile code to build your target with easymake.
Features description:
foo.h
, all your source files with #include "foo.h"
will be re-compiled.NOTICE: Easymake is designed to be easy to use on simple applications, not as a highly flexible or extensible template. If you want more customization, you might need to look for a small and simple example for start.
git clone https://github.com/roxma/easymake
cd easymake/samples/basics
cp ../../easymake.mk Makefile
make
./bin/add # if you rename add.cpp to myprogram.cpp, then you get ./bin/myprogram.cpp
Files with *_test.cpp
or *_test.c
pattern will be used for testing
(inspired by golang).
Easymake is trying to follow the Makefile Conventions (1) (2). The following options are supported.
CFLAGS
Extra flags to give to the C compiler.CXXFLAGS
Extra flags to give to the C++ compiler.LDFLAGS
Extra flags to give to compilers when they are supposed to invoke the linkerLDLIBS
Library flags or names given to compilers when they are supposed to invoke the linkerARFLAGS
Flags to give the archive-maintaining program; default cr
In the GIFs, I simply copy easymake.mk
into my souce code directory as a
makefile. However, for code simplicity, I recommend the following style:
CXXFLAGS=-O2
# other options
# ...
include /path/to/easymake.mk