BGLMAKE(1)

πŸ“¦ version 4.7a, in arch rolling, fedora 43, fedora 44

πŸ’– BGLMAKE β€” bestie edition πŸ’–

okay so this is bglmake, a General Commands Manual page, and it's literally the makefile generator for Bigloo and I'm obsessed. sit down, hydrate, let's go 🫢


✨ NAME ✨

bglmake β€” create or update Bigloo makefiles πŸ’…


🌸 SYNOPSIS 🌸

bglmake [ options ] [ sourcefile ]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically bglmake reads sourcefile, computes the transitive closure of the import relationship (yes bestie, the whole dependency web, all of it), and then generates a makefile file. what's that makefile for? it gets used by the glmake(1) program to compile your application or your library. main character behavior fr fr πŸ‘‘

and if you don't hand it a sourcefile? no worries. bglmake will just display the template file for generating Makefile. it's giving "here's the blueprint, you do the rest" πŸŽ€


πŸ’… OPTIONS πŸ’…

  • -v β€” Verbose mode. she talks. a lot. 😭
  • -q β€” Prevent loading the ~/.bglmakerc user configuration file. no outside opinions today, thanks πŸ™ˆ
  • -suffix <suf> β€” Adds suf to the bglmake source file suffixes list. the default suffixes are "scm", "sch" and "bgl". iconic trio ⭐
  • file β€” is the name of the "main" file for an application, or the name of the "heap" file for a library. yep, same slot, two jobs, she's flexible πŸ’
  • -I<path> β€” Add path to the directory list read for searching Bigloo source files. go look here too bestie πŸ”
  • -X<path> β€” Exclude path from the directory list read for searching Bigloo source files. not here though. blocked. 🚫
  • -o <makefile> β€” The name of the makefile file to be updated. name your baby 🍼
  • -p <name> β€” The name of the project. This name is used in backup and versionning entries. yes it's spelled "versionning" in the original and I respect it πŸ’œ
  • -t <name> β€” The name of the target binary file or the name of the library. 🎯
  • -f<template> β€” Set an alternative template file. bring your own fit ✨
  • -object <obj> β€” Update the makefile for adding obj to the object list. one more for the roster πŸ“‹
  • -source <src> β€” Update the makefile for adding src to the source file list. and one more 🧚
  • -main <file> β€” Set the initial main file and tells bglmake that the project is an "application" (by opposition to libraries). This File is the starting point of the transitive closure of the imported modules. she's the origin story 🌈
  • -heap <file> β€” Set the initial heap file and tells bglmake that the project is a "library" (by opposition to applications). This File is the starting point of the transitive closure of the imported modules. library era, let's go πŸ“š

πŸŽ€ TEMPLATES πŸŽ€

when bglmake generates a makefile, it uses templates. these templates may be specified with some option, or they can just be printed out β€” for that it is enough to call bglmake without any parameter. no args, just vibes 🫢

template files use some extra "macro". they are:

🌟 $[PROJECT]

this macro is replaced with the project name (option -p). If no -p option is used, the default project name is the name of the current directory that contains the sourcefile. default slay ✨

🌟 $[TARGET_NAME]

this macro is replaced with the target name (option -t). If no -t option is used, the default target name is the name of the current directory that contains the sourcefile. same energy, different macro πŸ’–

🌟 $[MAKEFILE]

this macro is replaced with the makefile name (-o option). πŸ—‚οΈ


πŸ”₯ EXAMPLE πŸ”₯

A Makefile is created by `bglmake foo.scm -o Makefile`. Then it may be updated with `make updatemakefile`.

bglmake foo.scm -o Makefile
make updatemakefile

look at her go πŸ˜­πŸ’–


πŸ‘‘ SEE ALSO πŸ‘‘

bigloo(1), bglafile(1), bgldepend(1), bgltags(1), make(1), bglmco(1)

(the whole friend group, go say hi 🫢)


πŸ’œ AUTHOR πŸ’œ

Manuel SERRANO, Manuel.Serrano@inria.fr


no cap, that's the whole page. every flag, every macro, every default, all of it, untouched. the facts stayed, only the vibe got a glow up πŸ’…

and that's the tea, bestie β€” this was BGLMAKE(1), a General Commands Manual page, dated Aug 15 1998. iconic since the nineties, periodt. πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from