mk-configure

Software Screenshot:
mk-configure
Software Details:
Version: 0.24.0
Upload Date: 20 Feb 15
Developer: Aleksey Cheusov
Distribution Type: Freeware
Downloads: 2

Rating: 3.0/5 (Total Votes: 1)

mk-configure is a lightweight easy for use replacement for GNU autotools, written in bmake (a portable version of NetBSD make) and POSIX tools (awk, shell, etc.). FreeBSD and OpenBSD make are not good. They are incompatible with NetBSD bmake. GNU make is not good too, it is completely incompatible with NetBSD bmake.

mk-configure provides a number of include files written in and for bmake and a number of standalone programs that should be installed to user's host for building a software.

Features:

  • An easy way for building standalone executables, static and shared libraries written in C, C++, Fortran, Pascal and Objective C; .cat and .html files from man pages; .info pages from texinfo sources etc. LEX, YACC are also supported. Support for other languages are planned.
  • Installing and uninstalling executables, libraries, scripts, documentation files and others. DESTDIR support is also provided.
  • Integrated autoconf-like support for finding #include files, libraries and function implementation, function definitions, defines, types, struct members etc.
  • A number of built-in checks for, e.g., system endianess, GNU bison or GNU flex programs and many others.
  • Automatic dependency analysis built-in for C, C++ and Fortran (not implemented yet, will be available soon).
  • Extensibility by writing bmake include files.
  • Support for regression tests (see mkc.minitest.mk for the sample).
  • mk-configure is small and easy. It is definitely much easier for use than GNU autotools, many people think that it is also easier than other competing projects like CMake, scons and others.

What is new in this release:

  • Support for subprojects containing the / symbol was added to mkc.sub{dir,prj}.mk with appropriate changes in OBJDIR_ variables.
  • A fix for the target "errorcheck" in mkc.sub{dir,prj}.mk.
  • A fix for non-empty MAKEOBJDIR and MAKEOBJDIRPREFIX in mkc.sub{dir,prj}.mk. Minor improvements in examples/*/linkme.mk.
  • DPLIBS is deprecated.
  • Minor fixes in mkc_imp.lua.mk (LUA_MODULES vs. LUA_LMODULES).
  • Improvements and fixes in the man page and FAQ.

What is new in version 0.21.1:

  • The target "errorcheck" ("configure") cannot work in parallel.
  • Fixes a bug that appeared in parallel builds (make -j).
  • Support for IRIX64 and Haiku was implemented.
  • PDF presentation has been updated.

What is new in version 0.21.0:

  • Support for the clang compiler was implemented.
  • The new variables MKCHECKS and LEXLIB were added.
  • Support for the Intel C/C++ compiler was improved.
  • The man page and presentation were improved.
  • Local mkc_install is always used for installing mk-configure for simplifying an installation process on non-BSD platforms.
  • A new target "filelist" that outputs a list of files for the whole project (after installation) was introduced.
  • The useless ".sh:" rule was removed.
  • There are other minor changes and improvements.

What is new in version 0.20.0:

  • New variables PROJECTNAME and CFLAGS.pic.
  • A new variable EXPORT_DYNAMIC for making all symbols in an executable visible to linked or dlopen'ed libraries.
  • Fixes for Lua support.
  • Support for EXPORT_SYMBOLS for Darwin.
  • Fixes for Darwin (MKDLL). *BSD, Linux, and QNX: ld --retain-symbols-file is not used anymore for EXPORT_SYMBOLS; ld --version-script is used instead.
  • Fixes for permissions on Interix.
  • Documentation and presentation updates.
  • Clean-ups.

What is new in version 0.19.0:

  • Fixes for LPREFIX, YPREFIX, and YHEADER.
  • The target "install" creates destination directories by default (calls the target "installdirs").
  • A new variable EXPORT_SYMBOLS for exporting (in shared object library) only specified symbols.
  • New variables NOSUBDIR, EXPORT_VARNAMES, and NOEXPORT_VARNAMES in mkc.{subdir,subprj}.mk.
  • By default, _mkc_* cache files are created in the project's top directory.
  • Documentation updates.
  • More regression tests and samples.
  • Better support for Solaris and OSF1.
  • Other improvements.

What is new in version 0.18.0:

  • Several new variables are introduced:
  • LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C.
  • MKC_VERSION is now documented.
  • MLINKS now works just like in NetBSD.
  • CFLAGS.warns.. and CXXFLAGS.warns.. are now documented. Feel free to set them in sys.mk before installation.
  • WARNERR for forcing warnings to be reported as errors.
  • New targets are introduced: bin_tar, bin_targz, bin_tarbz2,
  • bin_zip and bin_deb for creating archive files or .deb
  • package containing an installation image (Ex:
  • examples/hello_files). This also introduces new variables: TAR,
  • GZIP, BZIP2 and ZIP.
  • Documentation:
  • Just a few notes about cross-compilation in mk-configure.7
  • New slides, fixes and improvements in doc/presentation.pdf
  • README: feel free to edit sys.mk before installation
  • README: a few notes about tools used for development.
  • Support for POD (Plain Old Documentation) is added
  • (.pod.1, ..., .pod.9 and .pod.html suffix rules).
  • New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML
  • and POD2HTML_FLAGS. Ex: examples/hello_xxzip
  • ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs.
  • .ORDER: installdirs install. This should fix -j problem.
  • Thanks to FreeBSD buys,
  • swell.k at gmail.com and Mikolaj Golub
  • WARNS: add support for HP-UX C/C++
  • all:${FILES} ${MAN} etc. for the case when FILES are generated.
  • Thanks to Jan Smydke.
  • New examples (regression tests): hello_superfs, hello_xxzip.

What is new in version 0.17.0:

  • Fixes and minor improvements were made in mkc_imp.pkg-config.mk, mkc_imp.lua.mk, and mkc_imp.lib.mk.
  • The variables CC_TYPE, CXX_TYPE, and LD_TYPE were added.
  • The MKC_BMAKE environment variable (if set) overrides the path to bmake set at compile-time.
  • Documentation was added for /etc/mk.conf, @sysconfdir@/mk.conf, and MAKECONF.
  • New slides and updates were made in presentation.
  • Updates were made in the FAQ.

Other Software of Developer Aleksey Cheusov

DictEm
DictEm

20 Feb 15

runawk
runawk

19 Feb 15

paexec
paexec

20 Feb 15

Comments to mk-configure

Comments not found
Add Comment
Turn on images!