fpcmake(1)

✨ fpcmake(1) β€” the Free Pascal makefile constructor, bestie edition ✨

okay so picture this: you're in the Free Pascal ecosystem and you need a Makefile, but writing one by hand is giving suffering. enter fpcmake, the Free Pascal makefile constructor program, aka your new best friend 🫢


🌸 SYNOPSIS 🌸

fpcmake [-Ttarget] [-pwhrqvV] [filename [filename [filename]]]

πŸ’– DESCRIPTION πŸ’–

fpcmake reads a Makefile.fpc and converts it into a Makefile that's suitable for reading by GNU make, so it can compile your projects for you. no cap.

it's similar in functionality to GNU autoconf, or to Imake for making X projects. it's giving "we have build systems at home" but honestly? it ate. πŸ’…


πŸŽ€ USAGE πŸŽ€

fpcmake accepts filenames of makefile description files as its command-line arguments. for each of these files it will create a Makefile in the same directory where the file is located, overwriting any existing file with the same name. 😭 yes, literally overwriting. she does not ask permission.

if no options are given, it just attempts to read the file Makefile.fpc in the current directory and tries to construct a Makefile from it. any previously existing Makefile will be erased. πŸ™ˆ

see fpcmake(5) for a description of the format of the Makefile.fpc file. iykyk.


⭐ OPTIONS ⭐

fpcmake has a small number of options to control its behaviour:

  • -h β€” emit a short help text describing the use of fpcmake. the "bestie explain" button 🫢
  • -p β€” if this option is given, a package description file is generated as well as a makefile. two for one, slay ✨
  • -q β€” tells fpcmake to be more quiet, i.e. emit less messages. lowkey mode 🀫
  • -r β€” if this option is given, fpcmake will recursively scan subdirectories for makefile.fpc files and generate makefiles for them. it's going down the whole tree, no stone unturned, main character energy 🌈
  • -T β€” specifies the targets for which fpcmake should generate makefiles. this can be a comma-separated list of target systems, or the special identifier all which indicates that a makefile should be generated for all supported platforms. periodt. πŸ‘‘
  • -v β€” this option instructs fpcmake to be more verbose. she's talking. a lot. πŸ’€
  • -V β€” print fpcmake version and exit. quick lil flex then bye πŸ’œ
  • -w β€” this is the standard option and tells fpcmake to generate a makefile. the default vibe check βœ…

πŸ¦‹ SEE ALSO πŸ¦‹


heads up bestie: -r goes digging recursively, and the plain no-args mode will straight up erase an existing Makefile. read the room before you run it. πŸŽ€

okay that's the whole page, mwah πŸ’‹ this was Free Pascal, dated 11 Jan 2005 β€” iconic behavior from 2005, honestly, and she still slays. bye bestie! πŸŒΈπŸ’–βœ¨