Imake

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Add infobox)
(Removed from Software category, for consistency (article is significantly about Imake's file formats, plus it's not listed in the Software hierarchy).)
 
(2 intermediate revisions by one user not shown)
Line 3: Line 3:
 
|subcat=Development
 
|subcat=Development
 
}}
 
}}
'''Imake''' was a build tool used to generate Makefiles for software to be portable to a range of operating systems.  It was originally developed to build the [[X Window System]], and was adopted by many X applications, and some non-X software such as the tcsh shell.  It required maintaining a per-platform config file containing all the information about which interfaces were used on each platform, and thus did not scale well from the commercial Unix world it was designed for to the explosion of free OS distros, nor to handling interface choices that were needed by new programs.  The X Window System itself moved from Imake to the GNU autotools (autoconf, automake, libtool, pkg-config) in 2005, and while X.Org still provides Imake for existing software that needs it, has deprecated it and recommends against using it in new software.
+
'''Imake''' was a build tool used to generate Makefiles for software to be portable to a range of operating systems.  It was originally developed to build the [[X Window System]], and was adopted by many X applications, and some non-X software such as the tcsh shell.  It required maintaining a per-platform config file containing all the information about which interfaces were used on each platform, and thus did not scale well from the commercial Unix world it was designed for to the explosion of free OS distros, nor to handling interface choices that were needed by new programs.  The X Window System itself moved from Imake to the [[Autotools|GNU autotools]] (autoconf, automake, libtool, pkg-config) in 2005, and while X.Org still provides Imake for existing software that needs it, has deprecated it and recommends against using it in new software.
  
 
== File Format ==
 
== File Format ==
Line 9: Line 9:
 
Software that was to be built with imake distributed files named ''Imakefile'', one in each directory that needed a Makefile.  The file was basically a Makefile format file in which certain sections or text would be generated using C language style macros which were expanded via the ''cpp'' preprocessor.
 
Software that was to be built with imake distributed files named ''Imakefile'', one in each directory that needed a Makefile.  The file was basically a Makefile format file in which certain sections or text would be generated using C language style macros which were expanded via the ''cpp'' preprocessor.
  
To build such software, users would usually run the command ''xmkmf'' which is a shell script wrapper around the ''imake'' command.  ''imake'' in turn determined which platform specific defines needed to be passed to ''cpp'', set up the include paths for the imake config files which ''cpp'' would include to find the macro defintions, and then used ''cpp'' to generate ''Makefile'' files in each subdirectory.  Users could then run "make" or "make install" as necessary to build and install the software.
+
To build such software, users would usually run the command ''xmkmf'' which is a shell script wrapper around the ''imake'' command.  ''imake'' in turn determined which platform specific defines needed to be passed to ''cpp'', set up the include paths for the imake config files which ''cpp'' would include to find the macro definitions, and then used ''cpp'' to generate ''Makefile'' files in each subdirectory.  Users could then run "make" or "make install" as necessary to build and install the software.
  
 
== Software ==
 
== Software ==
Line 23: Line 23:
 
* [http://www.snake.net/software/imake-stuff/ imake-Related Software and Documentation]
 
* [http://www.snake.net/software/imake-stuff/ imake-Related Software and Documentation]
  
[[Category:Software]]
 
 
[[Category:X Window System]]
 
[[Category:X Window System]]
 +
[[Category:File formats with a distinctive filename]]

Latest revision as of 15:25, 11 June 2017

File Format
Name Imake
Ontology

Imake was a build tool used to generate Makefiles for software to be portable to a range of operating systems. It was originally developed to build the X Window System, and was adopted by many X applications, and some non-X software such as the tcsh shell. It required maintaining a per-platform config file containing all the information about which interfaces were used on each platform, and thus did not scale well from the commercial Unix world it was designed for to the explosion of free OS distros, nor to handling interface choices that were needed by new programs. The X Window System itself moved from Imake to the GNU autotools (autoconf, automake, libtool, pkg-config) in 2005, and while X.Org still provides Imake for existing software that needs it, has deprecated it and recommends against using it in new software.

[edit] File Format

Software that was to be built with imake distributed files named Imakefile, one in each directory that needed a Makefile. The file was basically a Makefile format file in which certain sections or text would be generated using C language style macros which were expanded via the cpp preprocessor.

To build such software, users would usually run the command xmkmf which is a shell script wrapper around the imake command. imake in turn determined which platform specific defines needed to be passed to cpp, set up the include paths for the imake config files which cpp would include to find the macro definitions, and then used cpp to generate Makefile files in each subdirectory. Users could then run "make" or "make install" as necessary to build and install the software.

[edit] Software

[edit] References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox