Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.54 KB

README.md

File metadata and controls

37 lines (29 loc) · 1.54 KB

MAKEIT

Goals

  • To generate native Makefiles for the system makeit is running on. To accomplish that, we transform a set of Makefile fragments and module config files into a non-recursive Makefile that uses features available to all reasonable versions of Make (GNU, BSD, SVR4, etc).

  • If makeit can be called a build system, it should stay so small and platform independent that it could be included in each project that it helps to build.

  • To include/install and setup makeit for your project take a look at the INSTALL.md file.

Module (*.mconf) Keywords

  • name : name of the module, just a handle
  • prog : name of a program to link
  • lib : name of a library to create, without the lib prefix
  • data : name of a data file (symbols, pictures, text, etc.) to embed
  • asrc : list of (.S) assembly source files
  • csrc : list of C source files to build
  • win_asrc : windows only list of C source files to build
  • win_csrc : windows only list of C source files to build
  • unix_asrc : unix only list of C source files to build
  • unix_csrc : unix only list of C source files to build
  • depends : list of module name's that a prog or a lib depends on
  • cflags : list of CFLAGS to add for this module
  • ldflags : list of LDFLAGS to add for this module
  • extralibs : list of extra libs needed by the program (e.g., -lgcc)
  • cleanfiles : list of extra files to remove when make clean is called

Implementation

  • POSIX portable tools mainly awk and sh with system commands