Makro soubory jsou uloženy ve dvou adresářích MAC a MACPOM. V adresáři MAC se ukládají tzv řídicí makra, která v podstatě pouze spouští hlavní makra uložená v adresáři MACPOM. Je tomu tak proto, že makra z adresáře MAC jsou pro uživatele zobrazena v tzv Katalogu maker. Tím je uživatel odstíněn od velkého množství maker v adresáři MACPOM.
Makro v adresáři MAC má mít definici jména, které bude zobrazeno v katalogu maker. Například:
const Program = "Mzdový manager";
U maker v adresáři MACPOM toto není nutné. V záhlaví makra se dále uvádí seznam připojených souborů (obvykle s příponou INC). Například:
Include("\Include\Const.Inc")
Include("\Include\CStream.Inc")
Include("\Include\CMacName.Inc")
Include("\Include\CNumPolM.Inc")
Poté následuje seznam globálních konstant a proměnných. Například:
{ Čísla oken a menu }
const wnSel = 10;
const wnSetUp = 11;
const wnPodm = 12;
const mnuMain = 10;
{ Help kontexty }
const hcNastav = 20008;
const hcPodminky= 20009;
const hcFormat = 20014;
{ Příkazy }
const cmSelSes = 150;
const cmPodm = 151;
const cmSave = 152;
const cmFormat = 153;
const cmInsert = 154;
{ Proměnné }
dim FNames : File;
dim SesFName : String[80];
dim SesName : String[LenName];
Poté je obvyklé spuštění tzv Hlavní procedury:
call MainProc;
Pak už následují procedury tak, jak jsou v tom kterém makru potřeba. Například:
procedure InitFNames (dim F : File);
dim Status : Byte;
call OpenStream(F, "", cStRewrite, True, True, Status)
if Status = cStRewrite then
call GetAllUS(FNames);
SSort(F, 1, 0, 25);
endif
endproc { InitFNames }