origin

undefined - variable didn't defined

default - default var, like $(CC) and etc...

environemnt - from environment

environment override - return environemnt which was overridden with make -e

file - from makefile

command line - from make command line arguments

automatic - see bellow

@

filter

Check empty value

Current directory

$(CURDIR)

Errors, Warning and Info

VPATH

Automatic variables

$| - Names of all the order-only prerequisites, with spaces between them

$@ - Filename of the target of the rule

$? - Names of all the prerequisites that are newer than the target

$< - Name of the first prerequisite

Conclusion

I'm not superuser of make , but sometime i use it. My knowledge about the files usually end in the next things: I know that if I'll createfile, write some simple rules which are in general form:And than execute, it executes. Last time ago i started to learn some low-level stuffs as assembly programming, operating system theory and practice (as you can read and understand from previous blog posts about assembly programming). Some days ago i started to read Linux kernel Makefile and here i want to share somesyntax features which i learned from there. So this post is not for people who usedmuch time and knows much about it.- is a builtin function which returns information about variable. It's general form is:You can pass anyto it and it will return info about it. Return value ofcan be:So we can use it like this:Usually makefile prints every action after executing it, but sometimes we no need in it. We can useprefix for it, for example:In this waywill not printline, but just printsfilter function removes all space separated words from text, which doesn't match no one template. General view of it:For example, we have targets list and we need to check is theretarget there or not:We can check empty value with following:Previously when i was need to get current directory path, i used something like this:Now i know about builtin variable:There are 3 builtin functions for printing errors, warning and info:variable defines list of directories where template rules will search dependencies:There are some special macros:This is all. If you will have any question or suggestions, please write me a comment or ping me in twitter English is not my first language, so you'll find mistakes in blog post please write me in comments or drop me email .