The rules.mk header has rules for generating object code from the following kinds of files:
The rules generate compile commands that include the necessary include paths, and get the CFLAGS or CXXFLAGS from the environment, and generates dependency information along with the compiled result. (Raw assembler source has no dependency information.)