Skip to content

ptr/makeit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is experimental system of makefiles that should
provide easy usage and maintenance of leaf makefiles.

Key features:
  - One-place list of source files for any platform and compiler
  - One-place for libraries versions
  - System support GNU Make (>= 3.79) and Microsoft's nmake.
  - Multiple OS support
  - Multiple compilers support
  - Support cross-compilation
  - Irredundant structure
  - Dependencies generation for C and C++ sources
  - Source files can be situated in different catalogs

Supported make utilities:
  - GNU Make (>= 3.79)
  - Microsoft's nmake.

Supported OS:
  - Linux
  - FreeBSD (with GNU Make)
  - Windows (with nmake or GNU Make)

Supported compilers:
  - gcc
  - Visual C++ 6

Supported cross-compilation:
  - gcc (on Linux for FreeBSD)

Supported dependency generation for C and C++ sources:
  - gcc (in any POSIX-like operational environment)
  - Visual C++ 6 (in POSIX-like operational environment, such as CygWin)


Usage:

Linux, gcc:

$ make -f gcc.mak dep
$ make -f gcc.mak install

Windows, VC6, nmake:

G:> nmake -f nmake-vc6.mak install


Windows, VC6, CygWin:

cygdrive/e/xxxx$ make -f cygwin-vc6.mak install

Cross-compilation:

$ ./configure --target=i686-pc-freebsd5
$ make -f gcc.mak install
$ rm ./Makefiles/config.mak


Make tags:
  - release-shared   build shared (dynamic) library without debug info
  - dbg-shared       build shared (dynamic) library with debug info
  - stldbg-shared    build shared (dynamic) library with debug info
                     and _STLP_DEBUG mode
  - release-static   build static library without debug info
  - dbg-static       build static library with debug info
  - stldbg-static    build static library with debug info and _STLP_DEBUG mode
  - all              build all shared libs for *nix platforms, and
                     all shared and static libs for Wins
  - clean            remove intermediate (object) files
  - clobber          clean and remove dependency files and builded libraries
  - distclean        clobber and remove installed libraries
  - install          copy resulting libs into <srcroot>/lib, create
                     appropriate links (if required)
  - depend           trace source dependencies and create dependency file


Files.

------------------------------------------
clean.mak
make.mak
rules-d.mak
rules-o.mak
rules-res.mak
top.mak

gmake/
  depend.mak
  dirsrc.mak
  gcc.mak
  sysid.mak
  targetdirs.mak
  targets.mak
  vc6.mak

  app/
    clean.mak
    macro.mak
    rules-install.mak
    rules.mak
    top.mak
  lib/
    clean.mak
    gcc.mak
    rules-a.mak
    rules-install-a.mak
    top.mak
    vc6.mak

  cygwin/
    extern.mak
    lib.mak
    rules-install-so.mak
    rules-so.mak
    sys.mak
  freebsd/
    extern.mak
    lib.mak
    rules-install-so.mak
    rules-so.mak
    sys.mak
  linux/
    extern.mak
    lib.mak
    rules-install-so.mak
    rules-so.mak
    sys.mak

nmake/
  clean.mak
  extern.mak
  rules-o.mak
  sysid.mak
  sys.mak
  targetdirs.mak
  targets.mak
  top.mak
  vc6.mak
  app/
    clean.mak
    macro.mak
    rules-exe-windows.mak
    top.mak
    vc6.mak
  lib/
    clean.mak
    macro.mak
    rules-a.mak
    rules-install-a.mak
    rules-install-so.mak
    rules-so.mak
    top.mak
    vc6.mak
templates/
  Makefile-app.inc
  Makefile-gcc-app
  Makefile-gcc-lib
  Makefile-lib.inc

About

Build tooling, based on make utility and friends

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages