The mkmed program

mkmed [program arg ...]

mkmed generates build scripts and related files for a package. It produces slashpackage packages. The current working directory must be the package directory, containing subdirectories such as src/. (Other subdirectories will be created by mkmed.) After generating its files, if any arguments are given after the package path, mkmed runs the given command.

mkmed generates files based on built-in rule files, user-defined rule files found under src/, and control files found under src/. These are not yet documented. File generation is done bottom-up, not top-down: for example, if you have a file foo.c or foo.cc, mkmed notices it and learns that it can create foo.o from the source file. (If you have both foo.c and foo.cc, you'll get an error, since mkmed ends up trying to produce the same foo.o file in two different ways.) So you don't need to specify which source file foo.o is made from; it's determined automatically.

Files generated by mkmed typically go in the package/ or conf-compile/ subdirectories. Some generated files go in src/.mkmed-data/.

Files generated by the automatically-generated build script typically go in subdirectories such as command/, conf/, include/, and library/. Intermediate files created by the build script go in compile/.