| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
information this document based Maker V5.0.05 higher Table Conten
Top Searches for this datasheetinformation this document based Maker V5.0.05 higher Table Contents Copyright Trademarks Copyright Disclaimer Trademarks. Introduction. Highlights Structure this Document HI-CROSS+ Graphical User Interface Main Window. Window Title Tool Status Menu File Menu Edit Settings Dialog Save Configuration Dialog Maker Menu View Menu Help Menu Advanced Options Dialog Message Settings Dialog Changing Class associated with Message. Example: Retrieving Information about Error Message About Specifying Input File Command Line Tool Make Process File Processing File which already been run. Entry File Make. Drag Drop Message/Error Feedback Information from Main Window User Defined Editor. Copyright 1987-1999 HIWARE Maker Manual Using Maker Making Modula-2 Applications Making Applications Using Makefiles Syntax Makefiles Case Sensitivity Line Breaks Comments Dependencies Commands Processing Macros. User Defined Macros (Static Macros) Definition Reference Redefinition Macros Comments. Concatenation Command Line Macros. Dynamic Macros Inference Rules Multiple Inference Rules Directives Special Targets Build-In Commands copy file1 file2 file1 file2. fileN directory echo text. puts outputfile text file1 file2 fctext file1 file2 rehash file1 file2 Command Line Implementation Restrictions Environment Current Directory Global Initialization File (MCUTOOLS.INI) [Installation] Section [Options] Section [Editor] Section Example Local Configuration File (usually project.ini) [Editor] Section Example Paths Copyright 1987-1999 HIWARE Maker Manual Line Continuation. Environment Variable Details COMP: Modula-2 Compiler. DEFAULTDIR: Default Current Directory ENVIRONMENT: Environment File Specification ERRORFILE: Error File Name Specification FLAGS: Options Modula-2 Compiler GENPATH: #include "File" Path LINK: Linker Modula-2 TEXTFAMILY: Text Font Family TEXTKIND: Text Font Character TEXTSIZE: Text Font Size TEXTSTYLE: Text Font Style Input Files Source (make files includes). Output Files Error Listing Interactive Mode (main window opened) Batch Mode (main window opened). Building your Libraries with Maker Directory Structure Maker Configuring WinEdit Maker. Configuring "default.env" Maker. Building your Library. Building Libraries with defined Memory Model Options. Building Libraries with Objects Added. Structured Make Files Libraries Options Maker Option Details Option Groups Option Detail Description Warning Missing .DEF File Ignore case Define Macro -Disp: Display Mode Copyright 1987-1999 HIWARE Maker Manual Unknown Macros Empty Strings -Env: Environment Variable Short Help Ignore Exit Codes. List Modules -Lic: License Information -LicA: License Information about every Feature Directory Produce Make File -MkAll: Make Always Display Notify Box. -NoBeep: Beep Case Error. -NoCapture: redirect stdout called processes Compile only Silent Mode Prints Version -View: Application Standard Occurrence (PC) -WErrFile: Create "err.log" Error File -Wmsg8x3: file names Microsoft format 8.3. -WmsgFb: message file format batch mode -WmsgFi: message format interactive mode. -WmsgFob: Message format Batch Mode. -WmsgFoi: Message Format Interactive Mode. -WmsgFonf: Message Format File Information. -WmsgFonp: Message Format Position Information -WmsgNe: Number Error Messages. -WmsgNi: Number Information Messages. -WmsgNu: Disable User Messages. -WmsgNw: Number Warning Messages -WmsgSd: Setting Message Disable -WmsgSe: Setting Message Error -WmsgSi: Setting Message Information -WmsgSw: Setting Message Warning -WmsgVrb: Verbose Mode. -WOutFile: Create Error Listing File -WStdout: Write standard output -W1: Information Messages -W2: Information Warning Messages Messages. Copyright 1987-1999 HIWARE Maker Manual Message Kinds INFORMATION WARNING ERROR FATAL DISABLE Message Details Message List. Messages Make Process M64: M5000 M5001 M5002 M5003 M5004 M5005 M5006 M5007 M5008 M5009 M5010 M5011 M5012 M5013 M5014 M5015 M5016 M5017 M5018 M5019 M5020 M5021 M5022 M5023 M5024 M5027 M5028 M5100 M5101 M5102 M5103 M5104 M5105 M5106 M5107 M5108 M5109 M5110 M5111 M5112 M5113 Unknown message occurred Message overflow, skipping <kind> messages Line Continuation occurred <FileName> User requested stop Error command line Can't return <makefile> include file. Illegal dependency Illegal macro reference Macro substitution complex Macro reference closed Unknown macro: <macroname> Macro definition command line long Illegal include directive Illegal line Illegal suffix inference rule Include file found: <includefile>. Include file long: <includefile> Circular macro substitution <macroname> Colon (":") expected Filename after INCLUDE expected Circular include, file <includefile> Entry doesn't start column makefile found Fatal error during initialization Nothing make: target found Don't know make <target> Circular dependencies between <target1> <target2> Illegal option Making target <target> Command line long: <commandline> Command line long exec file names expected Input file found Output file opened Error while copying Renaming failed. File name expected File does exist Called application detected error Echo <commandline>. Called application caused system error. Change directory (cd) failed Called application: <error> Called application: <warning> Messages Exec Process Copyright 1987-1999 HIWARE Maker Manual M5114 M5115 M5116 M5117 M5118 M5119 M5120 M5121 M5122 M5153 M5700 M5701 M5702 M5703 M5704 M5705 M5706 M5708 M5761 M5762 M5763 Called application: <information>. Called application: <fatal> Could delete file. Path found. Could create process: <diagnostic>. Exec <commandline> Running version with limited number execution calls. Number allowed execution calls exceeded.139 files <file1> <file2> identical files <file1> <file2> identical Processing make files under Win32s supported Maker Environment variable COMP set. Environment variable LINK Neither source symbol file found: <source file>. Circular imports definition modules. Can't recompile <source file> source found) make file generated (top module found) Couldn't open listing file <list file> Couldn't open makefile Wrote makefile <makefile>. Wrote listing file <listfile> Compilation Sequence Messages Modula-2 Make Copyright 1987-1999 HIWARE Maker Manual Copyright 1987-1999 HIWARE Maker Manual Copyright 1987-1999 HIWARE Maker Manual Copyright Trademarks Copyright Trademarks Copyright This work subject copyright. part this publication reproduced transmitted form means graphic, electronic, electrical, mechanical, chemical (including photocopying), recording medium, etc. without prior written consent from HIWARE. Disclaimer While every effort been made ensure accuracy information this document, HIWARE assumes liability whatsoever party loss damage caused errors statements kind this document, updates, supplements special editions, whether such errors omissions incorrect statements negligence, accident other cause. HIWARE further assumes liability whatsoever arising from application product described herein; liability incidental consequential damages arising from this document product described herein. HIWARE also disclaims warranties regarding information contained herein, whether expressed, implied statutory, including implied warranties merchantability fitness product particular purpose. Trademarks following trademarks acknowledged: FLEXlm registered trademark Globetrotter Software, Inc. HP-UX trademarks Hewlett-Packard Intel trademark Intel Corporation. Motorola registered trademark Motorola, Inc. MS-DOS Windows registered trademarks Microsoft Corporation. trademark Microsystems, Inc. UNIX registered trademark X/Open Company, Ltd. Copyright 1987-1999 HIWARE HI-CROSS+ Copyright Trademarks trademarks Digital Equipment Corporation. other trademarks property their respective owners. Copyright 1987-1999 HIWARE HI-CROSS+ Maker: Introduction Introduction This document describes Maker, HI-CROSS+ make tool. Maker implements mainly syntax UNIX make. Highlights Powerful User Interface On-line Help Flexible Message Management 32bit Application Conforms mainly UNIX make. Structure this Document User Interface: Description GUI. Maker: Syntax Environment: Environment variables used Maker. Maker Options: Description with examples option settings Maker. Maker Messages: Description with examples messages issued Maker. Index Copyright 1987-1999 HIWARE Maker Manual Maker: Introduction Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface HI-CROSS+ Graphical User Interface When start HI-CROSS+ tool, standard window opened containing randomly chosen hint user. Next button allows read next hint. want open automatically standard window when program started, just unchecked check Show Tips StartUp. Note that this configuration entry stored local project file. want enable automatic display from standard window again when program started, just select entry Help Day. window will opened check Show Tips StartUp. Click Close close window. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Main Window menu tool status This window only visible screen when specify file name command line. Especially when tool started Maker, main window doesn't appear. window title, menu bar, tool bar, content area status bar. Window Title window title displays tool name also project name. currently project loaded, "Default Configuration" displayed. after configuration name indicates some values have been changed. Note that only changes options, also editor configuration appearance make appear. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Tool command line context help online help save current configuration load configuration configuration make stop session option settings message settings clear three buttons left linked with corresponding entries menu File. next button opens about dialog. After pressing context help button shortcut Shift F1), mouse cursor changes it's form question mark beside arrow. Then help called next item which clicked clicked menus, toolbar buttons window area help specific this topic. command line history contains list commands executed. Once have selected entered command history, clicking Make will start execution command. Additionally there context menu associated with command line: Stop button allows stop current session. currently running tools finishes, further application called. next buttons allow opening option setting message setting dialog. last button clears content main window. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Status message area current time When pointing button tool menu entry, message area will display function button menu entry pointing current time field shows start time actually running session active) current system time. Menu Following menus available menu bar: Menu entry File Maker View Help Description Contains entries manage configuration files. Contains entries options. Contains entries customize window output. standard Windows Help menu. File Menu With File Menu configuration files saved loaded. configuration Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface file contains following information: option settings specified dialog boxes Message settings which specify which messages display which treat error. list last command line executed current command line. window position Tips settings, including enabled startup which current entry Configuration files text files, which have standard extension.ini. user define many configuration files required project, switch between different configuration files using File Load Configuration File Save Configuration menu entry corresponding tool buttons. Menu entry Make New/Default Configuration Load Configuration Description Opens standard Open File box. selected file will processed soon open File closed using Resets option settings default value. options which activated default specified section Command Line Options from this document. Opens standard open file box. configuration data stored selected file loaded will used further session. Saves current settings. Opens standard Save box. current settings saved configuration file which specified name. Opens Configuration dialog specify editor used error feedback which parts save with configuration. Recent project list. This list accessed open recently opened project again. Closes Maker. Save Configuration Save Configuration Configuration. project.ini Exit Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Edit Settings Dialog Editor Setting dialog main selection entry. Depending main type editor selected, content below changes. There following main entries: Global Editor global editor shared among tools projects computer. stored global initialization file "MCUTOOLS.INI" "[Editor]" section. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Local Editor local editor shared among tools using same project file. Global Local Editor configuration edited with linker. when these entries stored, behavior other tools using same entry does also change when they started next time. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Editor started with Command Line Enter command, which should used start editor. note below modifiers file name line number. format from editor command depends syntax which should used start editor. Example: (also look notes below) Winedit version (with adapted path winedit.exe file) C:\WinEdit32\WinEdit.exe /#:%l Write.exe (with adapted path write.exe file, note that write does support line number). C:\Winnt\System32\Write.exe Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Editor started with Enter service, topic client name used connection editor. entries have modifiers file name line number explained below. Example: Microsoft Developer Studio following setting: Service Name "msdev" Topic Name "system" ClientCommand "[open(%f)]" configurations should contain some modifiers tell editor which file open which line. modifier refers name file (including path) where error been detected. modifier refers line number where message been detected. Note: careful, modifier only used with editor which started with line number parameter. This case WinEdit version lower Notepad. When work with such edi- Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface tor, start with file name parameter then select menu entry jump line where message been detected. that case editor command looks like: C:\WINAPPS\WINEDIT\Winedit.EXE Please check your editor manual define command line which should used start editor. Save Configuration Dialog second page configuration dialog options considering save operation contained. save configuration dialog, parts which should stored into project file configured. This dialog following configurations: Options: Only when this mark set, current option message setting contained when configuration written. disabling this options, last saved content remains valid. Editor Configuration: Only when this mark set, current editor setting contained when configuration written. disabling this options, last saved content remains valid. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Appearance: This save topics consists many parts window position (only loaded startup time) command line content history. Only when this mark set, these settings contained when configuration written. Save Exit: this option set, Maker will write configuration exit. question will appear confirm this operation. this option set, maker will write configuration exit, even options another part configuration changed. confirmation will appear case when closing maker. Note: Almost settings stored configuration file only. only exceptions recently used configuration list. settings this dialog. Note: configurations can, fact intended coexist same file project configuration shell. When editor configured shell, maker read this content project file, present. project configuration file shell named project.ini. This file name therefore also suggested (but mandatory) maker. Maker Menu This menu allows customize maker. graphically reset options access message settings. Menu entry Option Description allows define options which must activated when processing input file (See Advanced Options Dialog below) opens dialog box, where different error, warning information messages mapped another message class (See Message Setting Dialog below). Messages Copyright 1987-1999 HIWARE Maker Manual Menu entry Stop Making Description Maker: HI-CROSS+ Graphical User Interface Stops current Making process. This menu entry grayed when make process currently takes place. View Menu This menu allows customize main window. define status tool must displayed hidden. also define font used window clear window. Menu entry Tool Status Log. Description switches display from tool main window. switches display from status main window. allows customize output main window content area. Following entries available when Log. selected: opens standard font selection box. options selected font dialog applied main window content area. allows clear main window content area. Change Font Clear Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Help Menu This menu allows customize Dialog shown during startup Maker. Additionally provides standard Windows Help entry entry About box. Menu entry Help Topics About Description Switches display during startup. Standard Help topics. Displays About with some version license information. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Advanced Options Dialog This dialog allows set/reset options. possible command line option also displayed lower display area (e.g. -W1) options available arranged into different groups, sheet available each these groups. content list depends selected sheet: Group Output Input Messages Modula-2 Description Specification command execution output print. Specification command line handling like definition macros expand unknown macros. handle messages, e.g. specify format, kind number printed messages Maker. Modula-2 make specific options. (Without effect C-users). option when check checked. obtain more detailed explanation about specific option, select option then press help button. select option, click once option text. option text Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface then displayed inverted. When dialog opened, then option selected. Pressing help button then shows help this dialog. Note: When options requiring additional parameters selected, edit additional window opened, where additional parameters set. example option `Define macro:' `Input' group, that expects line `<MACRONAME>=<value>'. Message Settings Dialog This dialog allows messages different message class. sheet available each error message class content list depends selected sheet: Message group Disabled Information Warning Description lists messages disabled. That means messages displayed list will written output stream. lists information messages. Information messages informs about actions taken. lists warning messages. When such message generated, processing input file continues. Copyright 1987-1999 HIWARE Maker Manual Message group Error Fatal Description Maker: HI-CROSS+ Graphical User Interface lists error messages. When such message generated, processing input file will stopped. lists fatal error messages. These messages reserved report error caused system inconsistency. Such error can't ignored therefore moved. Each message character (`M' Maker messages Compiler messages) followed digit number. This number allows easy search message both manual on-line help. Changing Class associated with Message configure your mapping messages different classes. that purpose buttons located right hand dialog box. Each button refers message class. change class associated with message, have select message list then click button associated with class where want move message. Example: define message `M5116 could delete file' (warning message) error message: Click Warning sheet, display list warning messages list box. Click string `M5116 could delete file' list select message. Click Error define this message error message. Note: Messages cannot moved from fatal error class. Note: `move buttons only active when only messages selected which moved. When message marked which moved specific group, corresponding `move button disabled (grayed). want validate modification have performed error message mapping, close 'Message settings' dialog with 'OK' button. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface close using 'Cancel' button, previous message mapping remains valid. Retrieving Information about Error Message access information about each message displayed list box. Select message list then click Help key. information opened, which contains more detailed description error message well small example code producing several messages selected, help first shown. When message selected, pressing help button shows help this dialog. About about opened with menu help->about. current directory versions subparts maker shown. version displayed separately dialog. Click close this dialog. Note: During maker process subversions maker parts shown. They only displayed maker currently idle. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Specifying Input File There different ways specify make file, which must processed. During processing, options will according configuration performed user different dialog boxes. Before starting process make file concern have defined working directory with your editor. Command Line Tool Make Process File file name additional Maker options entered command line. specified file will processed soon button Make tool selected enter pressed. Processing File which already been run. command executed previously displayed using arrow right side command line. command selected clicking appears command line. specified file will processed soon make button tool selected. Entry File Make. When menu entry File Make. selected standard file open file displayed, where user browse name file wants process. selected file will handled soon standard open file closed using button. Drag Drop file name dragged from external software (for example File Manager/Explorer) dropped into main window. dropped file will processed soon mouse button released Maker window. file being dragged extension "ini", considered configuration immediately loaded taken makefile. process make file with extension "ini" other methods Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Message/Error Feedback After making there several ways check where different errors warnings have been detected. format error message looks follows: <msgType> <msgCode>: <Message> Examples: ERROR M5102: input file found ERROR M5112: called application: "ERROR C1011: Undeclared enumeration tag" second example shows, that messages from called applications also displayed, only error occurs. They extracted from error file, application called reported error. Information from Main Window Once file been processed, Maker window content area displays list errors warnings detected. user usual editor, open source file correct errors. User Defined Editor user must first configure editor wants message/error feedback Configuration dialog box. Once file been processed, only needs double-click error message editor selected automatically activated points line containing error. Copyright 1987-1999 HIWARE Maker Manual Maker: HI-CROSS+ Graphical User Interface Copyright 1987-1999 HIWARE Maker Manual Maker: Using Using With HI-CROSS+ Make build Modula-2 applications well maintain C/C++ projects. syntax Maker been derived subset from UNIX make. Making Modula-2 Applications make Modula-2 application, just enter name main module input prompt command line). Maker will collect dependencies given IMPORT clauses source files both implementation definition modules then recompile those files that were modified since last compilation. end, will also link application. make utility needs three environment variables: LINK defines linker program. COMP defines compiler. FLAGS defines compiler options compiler given COMP. These variables needed only when Maker used build Modula-2 Application. makefile processing (see below) they needed (but they used macros, please section Macros). Making Applications Since dependencies between files cannot necessarily deduced looking source files, automatic make Modula-2 applications possible. However, programmer describes these dependencies file, HI-CROSS Make process this so-called makefile thus (re-)build application. Using Makefiles This section gives short introduction writing using makefiles. already know UNIX-style make utilities, probably already know most what follows. have been working until with Microsoft Make, strongly recommend that read this section. Copyright 1987-1999 HIWARE Maker Manual Maker: Using Syntax Makefiles First, let's have look syntax makefiles: MakeFile Entry Macro Update Command Rule Directive WhiteSpace Line Name Suffix Letter {Entry Directive}. {Macro Update Rule}. Name {"="|"+="|"=+"} Line Name [Name {[","] Name}] {Command}. WhiteSpace {WhiteSpace} Line Suffix ["." Suffix] {Command}. INCLUDE Name "|"\t". "\n". {<any char except un-escaped linebreaks>}. <any valid file name>. Letter [Letter] [Letter]. letter from from "z">. Case Sensitivity default, make utility case sensitive. However, "-C" option set, Maker does consider case, e.g. treats capital letters same lower case letters. Line Breaks Processing makefile line-oriented job, i.e. most constructs such macro definitions dependency lists terminated line. want Make ignore linebreak, escape write backslash ("\") immediately before linebreak. make utility will then read combination backslash linebreak single blank. Comment lines cannot enlarged using line continuation. Comments Comments makefile start with number sign ("#") ended next linebreak. Dependencies Dependencies between files given update entries makefile. Such update entry form target file: {dependency file} {command line} Copyright 1987-1999 HIWARE Maker Manual Maker: Using This tells HI-CROSS Make that target file depends dependency files. dependency files have changed since last time target file made target file does exist, command lines executed order they appear. there dependencies given, command lines always executed; there command lines target should remade rule (please below) applied, error message issued. Commands Each command must begin line must prefixed least blank tab. maker does claim UNIX make. Leading trailing blanks tabs stripped from command line command terminates with exit code equal zero, error message displayed makefile processing stops unless line started with dash ("-"). dash removed before executing command. star ("*") start command line indicates that output called tool should captured. This especially needed applications command.com. Processing Processing update entries recursive, i.e. dependency file appears target some other update entry, that other update entry processed first. dependency file does exist none inference rules (please below) applied, error message issued. Normally, makefile processing starts with update entry target given command line input prompt. don't specify target, processing starts first update entry makefile. there update entries same target file, dependencies commands second update entry simply appended those first. HI-CROSS+ Make will issue error message finds circular dependencies. Macros Macros comfortable means associating name with some arbitrary text then just name instead text wherever text should appear makefile. There different forms macros: user defined static ones Copyright 1987-1999 HIWARE Maker Manual Maker: Using predefined dynamic ones. User Defined Macros (Static Macros) macro definition form: Definition macro_name text next un-escaped linebreak After macro been defined, macro reference include text place makefile. macro reference form: Reference $(macro_name) will wholly replaced text, including "$(" ")". text itself contains more macro references, those expanded, too. Redefinition Macros redefined, that case their value overwritten text definition. HI-CROSS+ Make will issue error message detects circular macro definition like following one: ThisMacro $(ThatMacro) ThatMacro $(ThisMacro) Macros Comments macro followed comment same line following example, text that will replace reference these macros ends just before character: MyMacro another OurMacro This $(MyMacro) example MyMacro third HisMacro This $(MyMacro) #And that's comment #That's comment, too! #Redefinition macro example macro references will replaced follows (without double quotes, course!): Copyright 1987-1999 HIWARE Maker Manual Maker: Using Maker $(MyMacro) third" $(OurMacro) "This third example" $(HisMacro) "This third example" Macro references used update entries, inference rules (please below), macro definitions macro references. last possibility allows constructs such This Macro MyMacro This circular macro reference! $(My$(This)) which evaluates first step "$(MyMacro)" then "This circular macro reference!". Concatenation Besides macro definition operator "=", HI-CROSS Make knows additional operators "+=" "=+". first appends text right macro given left, while second assigns macro value given appending macro's previous value text given right. MyMacro File MyMacro .TXT #Now macro value "File.TXT" MyMacro #Now value "D:\File.TXT" following macro case handled differently different make utilities, HI-CROSS Make value "D:\SomeDir\". (Some other make implementations would expand "D:\SomeDir" take last backslash part escaped linebreak.) MyMacro D:\SomeDir\ Command Line Macros There kinds User Defined Macros: Command line macros make file macros. Make file macros macro definitions that appear make file. Command line macros macros given command line with option Command line macros have higher priority than macros defined make file file included. That means, define macro command line, further definition macro with same name make file ignored. special command line macro macro TARGET, which defines name Copyright 1987-1999 HIWARE Maker Manual Maker: Using target make. TARGET macro provided compatibility with previous versions maker. preferred specifying target simply name after make file name. Defining explicit target with TARGET macro does only work command line. TARGET macro given make file does define target. this explicitly specifying target which target make dependency. Dynamic Macros addition user-defined macros, which always static, HI-CROSS Make recognizes following dynamic macros, which differently evaluate different contexts: base name (without suffix period) target file. complete target file name. complete list dependency files. list dependency files that younger than target. evaluates single dollar sign. Except first last one, these dynamic macros only appear within command lines. They replaced very macro substitution, i.e. just when command about executed. MyMacro OurMacro file.c $(MyMacro) THAT.EXE $*.C $(OurMacro) $(COMP) $(MyMacro) $(LINK) $*.PRM first step, first line will evaluated THAT.EXE THAT.C file.c which clearly circular since should replaced "THAT.C file.c That's dynamic macros only appear (after macro substitution done) command line. assume that OurMacro defined OurMacro file.c io.c above example fine, after macro substitution done, THAT.EXE THAT.C file.c io.c Here example Copyright 1987-1999 HIWARE Maker Manual Maker: Using target.o: target.c $(COMP) will replaced with target.o: target.c $(COMP) target.c Example target.o: target.c $(COMP) newer than target.o, then result will target.o: target.c $(COMP) Note: HI-CROSS Make also defines macros environment variables currently set, which course redefined like other macro. Inference Rules Inference rules simple specifying default rules certain common cases save typing. Inference rules have form .depSuffix.targetSuffix: {Commands} .depSuffix: {Commands} tell HI-CROSS Make make file with suffix targetSuffix update entry file found: look file with same name target with suffix depSuffix. Assume target depends that file, make usual checks target remade, execute commands. commands given target should remade, error issued. second form inference rule with only suffix exactly works first one, target suffix simply assumed empty. example, object files usually depend upon source file same name, with different suffix, created calling compiler. assume that object files have extension source files have extension this could expressed Copyright 1987-1999 HIWARE Maker Manual .c.o: $(COMP) $*.c Maker: Using make utility finds dependency file with extension (say, "THIS.o") update entry having this file target, will apply above rule, which results exactly same your makefile contained dependency THIS.o: THIS.c $(COMP) $*.c Rules also play different role: there update entry without command lines, HI-CROSS Make searches rule that might apply executes commands specified that rule. example, with your makefile containing above rule, update entry THAT.o: FILE.h DATA.h equivalent THAT.o: FILE.h DATA.h THAT.c $(COMP) $*.c define different inference rules same target suffix, only last will active. HI-CROSS Make finds dependency file that does appear target some other update entry, tries find inference rule apply. that fails, too, file exists, make utility assumes file date. file does exist, clearly should remade, lacking rule update entry Maker doesn't know make issues error message. Below little more complex example: demo make file assembly project OBJECTS a_1.o a_2.o a_3.o c:\hiware\prog\assembler.exe LINK c:\hiware\prog\linker.exe all: myasm.abs echo "all done" myasm.abs: $(OBJECTS) myasm.prm a_1.o: a_1.inc a_2.o: a_1.inc a_2.inc .prm.abs: Copyright 1987-1999 HIWARE Maker Manual Maker: Using Maker $(LINK) $*.prm .asm.o $(ASM) $*.asm Multiple Inference Rules specify more than inference rule dependency suffix. This useful when have source files written different programming languages having different file suffixes. have example sources written assembly language, Anise-C C++. object files produced assembler compiler have same suffixes. They thought linked together program library. This presented target having object files dependency list: makeAll: asm_obj1.o asm_obj2.o asm_obj3.o c_obj1.o cobj2.o cpp_obj1.o rules build object files following: .asm.o: $(ASSEMBLE) $*.asm $(ASMOPTIONS) .c.o: $(COMPILE) $*.c $(COPTIONS) .cpp.o: $(COMPILE) $*.cpp $(CPPOPTIONS) Maker selects first rule finds that applicable. Note: resolution algorithm Maker logically complete. able chain rules together some cases. this lead conflicts with handling multiple inference rules. example template frames with suffix .tpl that compiled program that produces files from files maker have problems resolve multiple rules further compilation steps. Tip: possibilities maker solve your build problem with example make file that contains main features resolution wish have. works, will also work enlarged form Directives Special Targets HI-CROSS Make allows include makefile into another using include directive form INCLUDE filename Copyright 1987-1999 HIWARE Maker Manual Maker: Using This textually replaces include directive contents given file, which course should another makefile. file could found, opened read, error message issued. default makefile DEFAULT.MAK always included very beginning should directory given environment variable GENPATH. error message issued circular includes. HI-CROSS Make also allows definition special targets without dependencies: BEFORE: {Commands} AFTER: {Commands} commands given executed just before just after target given command line processed. Build-In Commands start programs from HI-CROSS Make Utility command line. External commands executed directly; execute built-in commands call COMMAND.COM with option e.g. *COMMAND.COM C:\HICROSS C:\DIR.TXT Note: star ("*") indicates maker capture output command.com. output capture facility does sometimes have problems with executables like command.com. WinNT environments recommended native shell "cmd.exe" instead command.com. simplicity's sake HI-CROSS Make Utility also simple built-in commands. Subsequently, we'll discuss each these commands. copy file1 file2 Creates copy file1 with name file2. wildcards allowed. need wildcards, built-in copy command. Copyright 1987-1999 HIWARE Maker Manual Maker: Using file1 file2. fileN Deletes files passed argument. Again, wildcards allowed. file path followed from current directory, absolute path specified. maker does consult environment settings find files delete. directory Changes temporary current directory. scope `cd' command command list target where called. Note: avoid this command whenever possible. command lead inconsistency with definition relative paths environment. only implemented command cases where can't your another way. echo text This actually no-op. commands displayed, text will shown, too. view echo command defining comment that will shown, while normal comments starting with shown. puts outputfile text Writes text, rest command line file specified with outputfile, that first identifier command line. write mode appending. file does exist created (mode "a+"). Example: puts myOutput.txt This text\n writes text "This text" with line break file "myOutput.txt" Example: GENMAKE= bb.mak TARGET MAKE= c:\hiware\prog\maker.exe COMP= c:\hiware\prog\compiler.exe STAR=* DEPENDENDS $(TARGET).c $(TARGET).h create$(GENMAKE): Copyright 1987-1999 HIWARE Maker Manual Maker: Using Maker -del $(GENMAKE) puts $(GENMAKE) \nCOMP=$(COMP) puts $(GENMAKE) \nMAKE=$(MAKE) puts $(GENMAKE) \n$(TARGET).o $(DEPENDENDS) puts $(GENMAKE) $$(COMP) $(TARGET).c $(MAKE) $(GENMAKE) $(TARGET).o generates runs bb.mak MAKE=c:\hiware\prog\maker.exe c:\hiware\prog\compiler.exe file1 file2 Compares files, specified name file1 file2, byte byte stores result temporary boolean, that interpreted next command (e.g. command). result TRUE, files identical FALSE not. fctext file1 file2 Compares text files byte byte, ignoring blanks compare, stores result temporary boolean, that interpreted next command (e.g. command). result TRUE, files identical FALSE not. Syntax: <commandIfYes> <commandIfNo> Evaluates boolean result last command (The result FALSE default commands that return boolean result. only commands that return boolean result file compare functions `fc' `fctext'. call another command, `puts' followed command, second command alternative executed. this case sense). result TRUE command <commandIfYes> executed. Else <commandIfNo> executed. Example: fctext upxcall.c upxcall.old puts log.txt files equal puts log.txt files equal written lines Copyright 1987-1999 HIWARE Maker Manual Maker: Using fctext upxcall.c upxcall.old puts log.txt files equal puts log.txt files equal rehash Re-loads HI-CROSS environment from default.env file. environment used commands executed, macro expansions, searches files thereafter. file1 file2 Renames file1 file2. wildcards allowed. Command Line maker command line consists three parts: Maker Options entries starting with dash (`-') considered option. Maker Options list valid options. option often used additional macros. macro TARGET specified with alternative specify targets built. This provided compatibility with previous versions maker. recommended specify target target name command line after makefile name. Makefile name first command line argument, which does start with dash, used makefile name. Targets remaining arguments without leading dash taken targets built. targets specified, first rule build. When maker started without command line arguments, window opened where commands entered manually. Implementation Restrictions HI-CROSS Make knows only implementation restriction: string resulting from macro substitution allowed contain more than 4095 characters. Copyright 1987-1999 HIWARE Maker Manual Maker: Using Copyright 1987-1999 HIWARE Maker Manual Maker: Environment Environment This part describes environment variables used Maker. Some those environment variables also used other tools (e.g. Maker, Linker), consult also their respective manual. Various parameters Maker environment using so-called environment variables. syntax always same: Parameter KeyName ParamDef. Note: Normally blanks allowed definition environment variable. Example: my_project These parameters defined several ways: Using system environment variables supported your operating system. Putting definitions file called DEFAULT.ENV (.hidefaults UNIX) default directory. Putting definitions file given value system environment variable ENVIRONMENT. Note: maximum length environment variable entries DEFAULT.ENV/.hidefaults 1024 characters. Note: default directory mentioned above system environment variable DEFAULTDIR. When looking environment variable, programs first search system environment, then DEFAULT.ENV (.hidefaults UNIX) file finally global environment file given ENVIRONMENT. definition found, default value assumed. Current Directory most important environment tools current directory. current directory base search directory where tool starts search files (e.g. DEFAULT.ENV .hidefaults) Copyright 1987-1999 HIWARE Maker Manual Maker: Environment Normally, current directory tool started determined operation system program launches another (e.g. WinEdit). UNIX operating system, current directory executable started also current directory from where binary file been started. Windows based operating systems, current directory definition quite complex: tool launched using File Manager/Explorer, current directory location executable launched. tool launched using Icon Desktop, current directory specified associated with Icon. tool launched dragging file icon executable under Windows Windows 4.0, desktop current directory. tool launched another launching tool with current directory specification (e.g. editor WinEdit), current directory specified launching tool (e.g. current directory definition WinEdit). tool supports local project files, current directory where local project file Changing current project file does also change current directory other project file different directory. Note that browsing file does change current directory. overwrite this behavior, environment variable DEFAULTDIR used. current directory displayed among other information with maker option "-v" about box. Global Initialization File (MCUTOOLS.INI) tools store some global data into MCUTOOLS.INI. tool first search this file directory tool itself (path executable). there MCUTOOLS.INI file this directory, tool looks MCUTOOLS.INI file located Windows installation directory (e.g. C:\WINDOS). Example: C:\WINDOWS\MCUTOOLS.INI D:\INSTALL\PROG\MCUTOOLS.INI Copyright 1987-1999 HIWARE Maker Manual Maker: Environment tool started D:\INSTALL\PROG\DIRECTOY, project file same directory than tool used (D:\INSTALL\PROG\MCUTOOLS.INI). tool started outside D:\INSTALL\PROG directory, project file Windows directory used (C:\WINDOWS\MCUTOOLS.INI). following section gives short description entries MCUTOOLS.INI file: [Installation] Section Entry: Arguments: Description: Example: Path Last installation path. Whenever tool installed, installation script stores installation destination directory into this variable. Path=c:\install Entry: Arguments: Description: Example: Group Last installation program group. Whenever tool installed, installation script stores installation program group created into this variable. Group=Make [Options] Section Entry: Arguments: Description: Example: DefaultDir Default Directory used. Specifies current directory tools global level (see also environment variable DEFAULTDIR). DefaultDir=c:\install\project Copyright 1987-1999 HIWARE Maker Manual Maker: Environment [Editor] Section Entry: Arguments: Description: Editor_Name name global editor Specifies name which displayed global editor. This entry only description effect. content used start editor. This entry modified with maker. Entry: Arguments: Description: Editor_Exe name executable file global editor Specifies file name with called showing text file, when global editor setting active. editor configuration dialog, global editor selection only active when this entry present empty. This entry modified with maker. Entry: Arguments: Description: Editor_Opts options global editor Specifies options, which should used global editor. this entry present empty, "%f" used. command line launch editor build taking Editor_Exe content, then appending space followed this entry. This entry modified with maker. Example: [Editor] editor_name=WinEdit editor_opts=%f Example following example shows typical layout MCUTOOLS.INI: [Installation] Path=c:\hiware Group=Make Copyright 1987-1999 HIWARE Maker Manual Maker: Environment [Editor] editor_name=WinEdit editor_opts=%f [Options] DefaultDir=c:\myprj [Maker] SaveOnExit=1 SaveAppearance=1 SaveEditor=1 SaveOptions=1 Local Configuration File (usually project.ini) maker does change default.env way. content only read. configuration properties instead stored configuration file. same configuration file intended used different applications. shell uses configuration file with name "project.ini" current directory only, that this name also suggested used with maker. Only when shell uses same file maker, editor configuration written maintained shell used maker. Apart from this, maker file name project file. configuration file does have same format windows files. maker stores entries with same section. current directory always directory, where configuration configuration file different directory loaded, then current directory also changes. When current directory changes, also whole default.env file reloaded. [Editor] Section Entry: Arguments: Description: Editor_Name name local editor Specifies name which displayed local editor. This entry only description effect. content used Copyright 1987-1999 HIWARE Maker Manual Maker: Environment start editor. Saved: This entry modified with maker. This entry same format global editor configuration mcutools.ini file. Entry: Arguments: Description: Editor_Exe name executable file local editor Specifies file name with called showing text file, when local editor setting active. editor configuration dialog, local editor selection only active when this entry present empty. This entry modified with maker. This entry same format global editor configuration mcutools.ini file. Saved: Entry: Arguments: Description: Editor_Opts options local editor Specifies options, which should used local editor. this entry present empty, "%f" used. command line launch editor build taking Editor_Exe content, then appending space followed this entry. This entry modified with maker. This entry same format global editor configuration mcutools.ini file. [Editor] editor_name=WinEdit editor_opts=%f Saved: Example: Example following example shows typical layout configuration file (usually project.ini) Copyright 1987-1999 HIWARE Maker Manual Maker: Environment [Editor] Editor_Name=WinEdit /#:%l Editor_Opts=%f [Maker] StatusbarEnabled=1 ToolbarEnabled=1 WindowFont=-16,500,0,Courier TipFilePos=0 ShowTipOfDay=1 EditorType=3 RecentCommandLine0=mkall.mak RecentCommandLine1=cpplib.mak -D(LIBNAME=cpplib) CurrentCommandLine=mkall.mak EditorDDEClientName=[open(%f)] EditorDDETopicName=system EditorDDEServiceName=msdev /#:%l Paths Most environment variables contain path lists telling where look files. path list list directory names separated semicolons following syntax below: PathList DirSpec {";" DirSpec}. DirSpec ["*"] DirectoryName. Example: home/me/my_project directory name preceded asterisk ("*"), programs recursively search that whole directory tree file, just given directory itself. directories searched order they appear path list. Example: LIBPATH=*C:\INSTALL\LIB Note: Some DOS/UNIX environment variables (like GENPATH, etc.) used. LIBPATH, Copyright 1987-1999 HIWARE Maker Manual Maker: Environment Line Continuation possible specify environment variable environment file (default.env/.hidefautls) over different lines using line continuation character `\': Example: FLAGS=\ -Wpd This same FLAGS=-W2 -Wpd this feature dangerous using together with paths, e.g. GENPATH=.\ TEXTFILE=.\txt will result GENPATH=.TEXTFILE=.\txt avoid such problems, recommend semicolon';' path there end: GENPATH=.\; TEXTFILE=.\txt Environment Variable Details remainder this section devoted describing each environment variables available Maker. options listed alphabetical order each divided into several sections. Topic Tools Synonym Description Lists tools which using this variable Fore some environment variables synonym also exists. Those synonyms used older releases Maker will removed future. synonym lower precedence than environment variable. Specifies syntax option EBNF format. Syntax Copyright 1987-1999 HIWARE Maker Manual Maker: Environment Topic Arguments Default Description Example Description Describes lists optional required arguments variable. Shows default setting variable none. Provides detailed description option Gives example usage, effects variable where possible. examples shows entry default.env .hidefaults UNIX. Names related sections. also Copyright 1987-1999 HIWARE Maker Manual Maker: Environment COMP COMP: Modula-2 Compiler Tools: Synonym: Syntax: Arguments: Default: Description: Example: also: Maker none. "COMP=" <compiler>. <compiler>: Used Modula-2 compiler. none. With this environment variable Modula-2 compiler used specified. COMP=C:\INSTALL\PROG\TPM.EXE Environment variables FLAGS Environment variables LINK Copyright 1987-1999 HIWARE Maker Manual Maker: Environment DEFAULTDIR DEFAULTDIR: Default Current Directory Tools: Synonym: Syntax: Arguments: Default: Description: Compiler, Assembler, Linker, Decoder, Debugger, Librarian, Maker none. "DEFAULTDIR=" <directory>. <directory>: Directory default current directory. none. With this environment variable default directory tools specified. tools indicated above will take directory specified their current directory instead defined operating system launching tool (e.g. editor). Note: This environment variable system level (global environment variable) cannot specified default environment file (DEFAULT.ENV/.hidefaults). Example: also: DEFAULTDIR=C:\INSTALL\PROJECT Section `The Current Directory' Section MCUTOOLS.INI File Copyright 1987-1999 HIWARE Maker Manual Maker: Environment ENVIRONMENT ENVIRONMENT: Environment File Specification Tools: Synonym: Syntax: Arguments: Default: Description: Compiler, Linker, Decoder, Debugger, Librarian, Maker HIENVIRONMENT "ENVIRONMENT=" <file>. <file>: file name with path specification, without spaces none. This variable specified system level. Normally HI-CROSS tool looks current directory environment file named default.env (.hidefaults UNIX). Using ENVIRONMENT (e.g. autoexec.bat (DOS) .cshrc (UNIX)), different file name specified. Note: This environment variable system level (global environment variable) cannot specified default environment file (DEFAULT.ENV/.hidefaults). Example: also: none. Copyright 1987-1999 HIWARE Maker Manual Maker: Environment ERRORFILE ERRORFILE: Error File Name Specification Tools: Synonym: Syntax: Arguments: Description: Compiler, Assembler, Maker (restricted) none. "ERRORFILE=" <file name>. <file name>: File name with possible format specifiers. environment variable ERRORFILE specifies name error file used HI-CROSS tools.The Compiler assembler allow substitution definition Possible format specifiers '%n': Substitute with file name, without path. '%p': Substitute with path source file. '%f': Substitute with full file name, with path name (the same '%p%n'). case illegal error file name, notification shown. Note: Maker does recognize errorfiles other tools containing`%' substitutions. string assigned environment variable ERRORFILE read filename string without substitutions. tools that substitutions their error output report their error Maker unspecified error message "M5108 called application detected error". Example: ERRORFILE=MyErrors.err lists errors into file MyErrors.err current directory. ERRORFILE=\tmp\errors lists errors into file errors directory \tmp. ERRORFILE=%f.err lists errors into file with same name source file, Copyright 1987-1999 HIWARE Maker Manual Maker: Environment with extension .err, into same directory source file, e.g. make file \sources\test.mak, error list file \sources\test.err will generated. ERRORFILE=\dir1\%n.err e.g. source file test.mak, error list file \dir1\test.err will generated. ERRORFILE=%p\errors.txt e.g. source file \dir1\dir2\test.mak, error list file \dir1\dir2\errors.txt will generated. environment variable ERRORFILE set, errors written file EDOUT current directory. also: none. Copyright 1987-1999 HIWARE Maker Manual Maker: Environment FLAGS FLAGS: Options Modula-2 Compiler Tools: Syntax: Arguments: Default: Description: Maker Modula-2 "FLAGS=" {<optionlist>}. <optionlist>: List options. none Maker with Modula-2 main module starts compiler with options specified with FLAGS. Modula-2 compiler specified with environment variable COMP. Environment variables COMP Environment variables LINK also: Copyright 1987-1999 HIWARE Maker Manual Maker: Environment GENPATH GENPATH: #include "File" Path Tools: Synonym: Syntax: Arguments: Default: Description: Compiler, Linker, Decoder, Debugger, Maker HIPATH "GENPATH=" {<path>}. <path>: Paths separated semicolons, without spaces. Current directory file included from make file, Maker searches first current directory, then directories given GENPATH. Note: directory specification this environment variables starts with asterisk ("*"), whole directory tree searched recursively depth first, i.e. subdirectories their subdirectories searched, too. Within level tree, search order subdirectories indeterminate (these valid Win32). Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Environment LINK LINK: Linker Modula-2 Tools: Syntax: Arguments: Default: Description: also: Maker Modula-2 "LINK=" {<linker>}. <linker>: Linker Modula-2. none Maker with Modula-2 main module starts linker specified with this environment variable. Environment variables COMP Environment variables FLAGS Copyright 1987-1999 HIWARE Maker Manual Maker: Environment TEXTFAMILY TEXTFAMILY: Text Font Family Tools: Synonym: Syntax: Arguments: Default: Description: Example: also: Compiler (V3.0.x), Assembler (V3.0.x), Linker, Decoder, Librarian, Maker (V3.0.x) HITEXTFAMILY. "TEXTFAMILY=" <FontName>. <FontName>: Font family name used. Terminal Defines font family use. Default font family "Terminal". TEXTFAMILY=Times Environment variable TEXTSIZE Environment variable TEXTSTYLE Environment variable TEXTKIND Copyright 1987-1999 HIWARE Maker Manual Maker: Environment TEXTKIND TEXTKIND: Text Font Character Tools: Synonym: Syntax: Arguments: Compiler (V3.0.x), Assembler (V3.0.x), Linker, Decoder, Librarian, Maker (V3.0.x) HITEXTKIND "TEXTKIND=" ("OEM" "ANSI"). "OEM": font character used. "ANSI": ANSI font character used. Default: Description: Example: also: Gives character set, either ANSI. Default OEM. TEXTKIND=ANSI Environment variable TEXTFAMILY Environment variable TEXTSIZE Environment variable TEXTSTYLE Copyright 1987-1999 HIWARE Maker Manual Maker: Environment TEXTSIZE TEXTSIZE: Text Font Size Tools: Synonym: Syntax: Arguments: Default: Description: Example: also: Compiler (V3.0.x), Assembler (V3.0.x), Linker, Decoder, Librarian, Decoder, Maker (V3.0.x) HITEXTSIZE "TEXTSIZE=" <number>. <number>: Font size used. Defines size that font. Default size point. TEXTSIZE=12 Environment variable TEXTFAMILY Environment variable TEXTSTYLE Environment variable TEXTKIND Copyright 1987-1999 HIWARE Maker Manual Maker: Environment TEXTSTYLE TEXTSTYLE: Text Font Style Tools: Synonym: Syntax: Arguments: Compiler (V3.0.x), Assembler (V3.0.x), Linker, Decoder, Librarian, Maker (V3.0.x) HITEXTSTYLE "TEXTSTYLE=" ("NORMAL" "BOLD"). "NORMAL": Normal font style used (not bold italic). "BOLD": Bold font style used. Default: Description: Example: also: NORMAL Defines font style used, either NORMAL BOLD. Default NORMAL. TEXTSTYLE=BOLD Environment variable TEXTFAMILY Environment variable TEXTSIZE Environment variable TEXTKIND Copyright 1987-1999 HIWARE Maker Manual Maker: Environment Copyright 1987-1999 HIWARE Maker Manual Maker: Input Files Input Files Source (make files includes) Make files include files will searched first current directory then GENPATH directory. Output Files output files make (except error report) produced tools called from Maker. Refer corresponding manual used tools. Error Listing Maker detects errors, does create error listing file "ERR.TXT". This file generated working directory. Maker started from WinEdit (with '%f' given command line) Codewright (with '%b%e' given command line), this error file produced. Instead writes error messages special format file called EDOUT using Microsoft format default. WinEdit's Next Error Codewright's Find Next Error command both error positions error messages. aware that maker can't report error position info with same precision other tools example compiler because most errors have long history position showed general position where error invoked. Most maker's messages therefore without position info (pos Interactive Mode (main window opened) ERRORFILE set, Maker creates message file named specified this environment variable. ERRORFILE set, default file named ERR.TXT generated current directory. Batch Mode (main window opened) ERRORFILE set, Maker creates message file named specified this environment variable. Copyright 1987-1999 HIWARE Maker Manual Maker: Input Files ERRORFILE set, default file named EDOUT generated current directory. Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with Building your Libraries with following section gives introduction adapt build your libraries. After short overview configuration needed first description modify memory model switches files libraries. want further deeper into concept structured make files that allows build your libraries with possibility involve your wishes configuration level. next sections, figures listings will find identifier <target> instead specific name. <target> stands your target name. Directory Structure make files distributed building libraries expecting directory structure recommended installation HI-CROSS tools. Normally don't have bother about Here follows your understanding list directories needed maker. assumed that have installed your HICROSS tools directory "c:\hicross". Program folder HI-CROSS (All HI-CROSS tools .EXE files installed here): c:\hicross\c<target>\prog Your working directory building libraries. (All make files, project files configuration files installed here): Binary path HI-CROSS tools, defined relative path from your working directory environment variable OBJPATH (All object files libraries built here): Source paths Compiler Assembler used, defined relative path from your working directory environment variable GENPATH Include path Compiler Assembler used, defined relative path from your working directory environment variable LIBPATH Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with Configuring WinEdit Open Dialog "Project Configure" WinEdit. This dialog appears only when source file opened. load prepared configuration file with "Open" edit tools definition save configuration with "Save" next time. configuration Maker (and also other tools used directly from WinEdit) have enter full path application corresponding text box. figure below shows example configuration. field working directory enter path your make files. Configuring "default.env" Here example "default.env" with settings used Maker. Consult your manual help file detailed description environment variables. example make files introduced here name applications build Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with project macros referencing environment variable contains. building libraries need COMP compiler, MAKE make tool LIBM librarian. Additionally there have specified some path environment variables OBJPATH GENPATH. These paths referenced make files introduced here too. OBJPATH=.\lib GENPATH=.\src LIBPATH=.\include MAKE=.\.\prog\maker.exe COMP=.\.\prog\c<target>.exe LIBM=.\.\prog\libmaker.exe Building your Library Here follows short introduction show build your libraries. also thought users that want build fast steps delivered libraries with memory model options with files added detailed description concept building libraries introduced here, read section "Structured Make Files Libraries". Building Libraries with defined Memory Model Options modifying memory model options library build extend built libraries with take look file "mkall.mak" Open file "mkall.mak". This main makefile building libraries. every library there command line specified under target "makeall:". example command line form: $(MAKE) mklib.mak -D(MM=$(FLAGS) -Ms) -D(LIBDIR=$(LIBDIR))\ -D(LIBNAME=testlib)\ -D(INCLIBS=ansilib.lib cpplib.lib) With command line macro specify options your library (Memory model option others). want change memory model from small banked, replace macro definition -Mb. Remember that macro definition introduced here braces. specify more than option switch inside braces, example -D(MM=$(FLAGS) -Cf) LIBDIR, directory library specified. This only necessary when default directory ".\lib" should taken. example processors supporting HIWARE object file format. Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with LIBNAME name library build without extension, example `testlib', name library build `testlib.lib'. call maker with mkall.mak your library build among others. library built with this example includes ANSI library library delivered. Building Libraries with Objects Added adding objects library build take look makefile "ansilib.mak" Copy makefile "ansilib.mak" makefile with name library want build, "mylib.mak" name library want build "mylib.lib". same directory other makefiles delivered. Note: name library built library same underlaying makefile with extension ".lib" instead ".mak". Remove object files listed macro OBJECTS "mylib.mak". list makefile "mylib.mak" following: OBJECTS makeLib: createLib $(OBJECTS) echo Sublibrary ansilib created createLib: $(CC) string.c assert.c $(LIBM) string.o assert.o $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\string.o $(OBJPATH)\assert.o .c.o: $(CC) $*.c $(LIBM) $(OBJPATH)\$(LIBNAME).lib+$*.o $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\$*.o List your object files with extension macro OBJECTS. source files your library have placed folder specified GENPATH. open file "mkall.mak". This main makefile building libraries. every library there command line specified under target "makeall:". example command line form: $(MAKE) mklib.mak -D(MM=$(FLAGS) -Ms) -D(LIBNAME=testlib)\ Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with Maker -D(STARTCPPOBJ=strt<target>sp)\ -D(INCLIBS=mylib.lib) specify options library already explained section "Building Libraries with defined Memory Model Options". passed command line macro INCLIBS specify library names included. example above only library build library "mylib.lib" that built with "mylib.mak". example have only library listed. There more, separated blanks. LIBNAME specify name finally built library without extension. call "testlib". other macros passed specifying startup files build. startup files inserted into library. They built separately. Note: name library build specified LIBNAME must another than name library included, "mylib" example. not, built library deleted just after building. (The library deleted after added library built.) call maker with mkall.mak your library build among others. Copyright 1987-1999 HIWARE Maker Manual Maker: Building your Libraries with Copyright 1987-1999 HIWARE Maker Manual Maker: Structured Make Files Libraries Structured Make Files Libraries concept building library introduced here works three make file levels. This illustrated figure below. Make File mkall.mak Build Library Make File mklib.mak Customized Library Makefile Customized Library Makefile example: ansilib.mak example: cpplib.mak This layering comparable with modular concept procedural program languages. upper makefile calls Maker with makefile execute arguments passed over command line macros. layer makefile "mkall.mak" example calls makefile "mklib.mak" build library passes memory model, name library build, name participant libraries startup files build. example makefile "mkall.mak" looks follows. FLAGS insert here global options libraries makeall: -dosprmpt.pif lib\*.* echo Making libraries: $(MAKE) mklib.mak -D(MM=$(FLAGS) -Ms) -D(LIBNAME=ansis) -D(STARTANSIOBJ=start<target>s) -D(STARTCPPOBJ=strt<target>sp) -D(INCLIBS=ansilib.lib cpplib.lib) $(MAKE) mklib.mak -D(MM=$(FLAGS) -Cf) -D(LIBNAME=ansisf) -D(STARTANSIOBJ=start<target>s) -D(STARTCPPOBJ=strt<target>sp) -D(INCLIBS=ansilib.lib cpplib.lib) $(MAKE) mklib.mak -D(MM=$(FLAGS) -Mb) -D(LIBNAME=ansib) Copyright 1987-1999 HIWARE Maker Manual Maker: Structured Make Files Libraries -D(STARTANSIOBJ=start<target>b) -D(STARTCPPOBJ=strt<target>bp) -D(INCLIBS=ansilib.lib cpplib.lib) $(MAKE) mklib.mak -D(MM=$(FLAGS) -Cf) -D(LIBNAME=ansibf) -D(STARTANSIOBJ=start<target>b) -D(STARTCPPOBJ=strt<target>bp) -D(INCLIBS=ansilib.lib cpplib.lib) echo libraries done first command target "makeall" deletes libraries object files build before. Maker call with $(MAKE), that evaluates maker over environment variable MAKE "default.env" corresponds building library. first maker call "mklib.mak" example intends build ANSI library small memory model (option passed over command line macro MM). following command line macros expected from "mklib.mak": options memory model, LIBNAME name produced library STARTUP name ANSI-C Startup file STARTCPP name Startup file INCLIBS library included libraries example pass library names "cpplib.lib" "ansilib.lib" passed within command line macro INCLIBS. makefile "mklib.mak" listed below: Note: Avoid modify "mklib.mak". most purposes enough work with mkall.mak specifying compiler options library list additionally write your libraries "ansilib.mak", "cpplib.mak" example "mylib.mak" $(COMP) $(MM) makeall: startup createLib $(INCLIBS) echo done! startup: start<target>.c echo making startup $(CC) $(GENPATH)\start<target>.c Copyright 1987-1999 HIWARE Maker Manual Maker: Structured Make Files Libraries copy $(OBJPATH)\start<target>.o $(OBJPATH)\$(STARTANSIOBJ).o $(CC) -C++ $(GENPATH)\start<target>.c copy $(OBJPATH)\start<target>.o $(OBJPATH)\$(STARTCPPOBJ).o $(OBJPATH)\start<target>.o echo startup done createLib: echo creating library $(LIBM) $(OBJPATH)\$(STARTANSIOBJ).o $(OBJPATH)\$(LIBNAME).lib $(LIBM) $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\$(STARTANSIOBJ).o $(OBJPATH)\$(LIBNAME).lib $(LIBM) $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\$(LIBNAME).lst echo library done .mak.lib: echo making library $(MAKE) $*.mak -D(CC=$(CC)) -D(LIBNAME=$*) $(LIBM) $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\$*.lib $(OBJPATH)\$(LIBNAME).lib $(OBJPATH)\$*.lib $(OBJPATH)\$*.lst makefile uses rules build. each library build, f.e. "mylib.lib" there exist makefile called "mylib.mak" working directory. Such makefile used collect group object files build same manner library. called with maker following command line arguments parameters: compiler with option list. LIBNAME name produced library don't have bother about these settings. They dependent from settings have already passed from "mkall.mak". libraries built with delivered makefiles "ansilib.mak" "cpplib.mak". example library have already shown listing "mylib.lib" Copyright 1987-1999 HIWARE Maker Manual Maker: Structured Make Files Libraries Copyright 1987-1999 HIWARE Maker Manual Maker: Options Options Maker offers some options that control Maker process. Options composed minus/dash (`-') followed more letters digits. Anything starting with dash/minus supposed name make file processed. Maker options specified command line interactively Makers "Advanced Option Settings" dialog. Maker Option Details Option Groups Maker options grouped Output, Input, Messages, Modula-2 Various Group OUTPUT INPUT MESSAGES MODULA-2 VARIOUS HOST Description Specification command execution output print. Specification command line handling like definition macros expand unknown macros. handle messages, e.g. specify format, kind number printed messages Maker. Modula-2 make specific options. (Without effect C-users). These options appearing options dialog. Lists options related host. group corresponds property sheets graphical option settings. Option Detail Description remainder this section devoted describing each option available Copyright 1987-1999 HIWARE Maker Manual Maker: Options Maker. options listed alphabetical order. Topic Group Syntax Arguments Default Description Example Description Output, Input, Messages, Modula-2 Specifies syntax option EBNF format. Describes lists optional required arguments option. Shows default setting option. Provides detailed description option Gives example usage, effects option where possible. Maker settings and/or source code displayed where applicable. examples shows entry default.env .hidefaults UNIX. Copyright 1987-1999 HIWARE Maker Manual Maker: Options Warning Missing .DEF File Group: Syntax: Arguments: Description: MODULA-2 none. This macro invokes that warning issued missing .DEF file. This option only effect processing Modula-2 makefiles. maker test.mod Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options Ignore case Group: Syntax: Arguments: Description: INPUT none. default, make utility case sensitive. With this option case sensitivity disabled. Lower case characters treated like uppercase. maker test.mak file test.mak: OBJECTFILES startup.o fibo.o makeAll: $(ObjectFiles) Example: This line with equivalent makeAll: $(OBJECTFILES) Copyright 1987-1999 HIWARE Maker Manual Maker: Options Define Macro Group: Syntax: Arguments: Description: INPUT -d<macroname> <value> macro definition string "<macroname> <value>". option defines command line macros. Command line macros used define macros arguments make file. macro defined this higher priority than macro defined makefile, e.g. macro makefile overwritten command line macro. Because arguments command line separated with blanks, command line macro standard form allowed contain blanks. want define command line macro with blanks, have brace definition string <macroname> <value> with double quotation marks braces chose double quotation mark definition string pairs count left braces string same count right braces chosen type. Examples: -dCOMP=chc12.exe -d"COMP=chc12.exe -Wi" -d[MAKE=Maker.exe -d(COMP=$(COMP))] Copyright 1987-1999 HIWARE Maker Manual Maker: Options -Disp -Disp: Display Mode Group: Syntax: Arguments: Description: OUTPUT -Disp none. mode with -disp, Maker does only echo commands execute without calling them. This mode used check dependency graph without affecting files. maker test.mak -disp Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options Unknown Macros Empty Strings Group: Syntax: Arguments: Description: INPUT none. This macro discards errors unknown macros referenced makefile. unknown macro substituted with empty string. maker test.mod Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -Env -Env: Environment Variable Group: Syntax: Arguments: Description: Example HOST "-Env" <Environment Variable> <Variable Setting>. <Environment Variable>: Environment variable <Variable Setting>: Setting environment variable This option sets environment variable. Maker -EnvGENPATH=\myfiles This same GENPATH=\myfiles default.env Note: This option inherited called applications. unless these tools have same option, they might find same files maker. also: none. Copyright 1987-1999 HIWARE Maker Manual Maker: Options Short Help Group: Syntax: Arguments: Description: VARIOUS "-H". none. short description list available options printed Copyright 1987-1999 HIWARE Maker Manual Maker: Options Ignore Exit Codes Group: Syntax: Arguments: Description: OUTPUT none. exit codes programs called ignored from Maker. Maker continues processing even fatal error reported called application corresponding process could created. This option useful test purposes, where only dependencies make file solved. maker test.mod Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options List Modules Group: Syntax: Arguments: Description: MODULA-2 -L<listfile> file name listing file produced. With this macro files compiled listed build order into file specified argument <listfile>. This option only effect processing Modula-2 makefiles. maker test.mod -ltest.lst Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -Lic -Lic: License Information Group: Syntax: Arguments: Description: VARIOUS "-Lic". none. -Lic option prints current license information (e.g. demo version full version). This information also displayed about box. maker -Lic Option -LicA Example: also: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -LicA -LicA: License Information about every Feature Directory Group: Syntax: Arguments: Description: VARIOUS "-LicA". none. -LicA option prints license information every tool directory were executable (e.g. tool feature demo version full version). Because option analyze every single file directory, this take long time. maker -LicA Option -Lic Example: also: Copyright 1987-1999 HIWARE Maker Manual Maker: Options Produce Make File Group: Syntax: Arguments: Description: MODULA-2 <makefile> file name makefile produce. Produce makefile. option immediately followed file name, makefile written that file, otherwise makefile same name main module, with suffix ".MAK". This makefile makes macros referencing above environment variables through macros. maker test.mod test.mak Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -MkAll -MkAll: Make Always Group: Syntax: Arguments: Description: INPUT -MkAll none. This options skips time checking maker. When specified, maker does rebuild date files. This option useful update application after change covered make file dependencies. maker test.mak -mkall Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options Display Notify Group: Syntax: Arguments: Description: MESSAGE "-N". none. Makes Maker display alert there error during make process. This useful check error case automatically environments since Maker waits user acknowledge message, thus suspending make file processing. (The stands "Notify".) This option only available version maker. Example: maker test.mak during make process error occurs, dialog will opened. also: none. Copyright 1987-1999 HIWARE Maker Manual Maker: Options -NoBeep -NoBeep: Beep Case Error Group: Syntax: Arguments: Description: MESSAGE "-NoBeep". none. Normally there `beep' notification processing there error. have silent error behavior, this `beep' switched using this option. maker test.mak -NoBeep none. Example: also: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -NoCapture -NoCapture: redirect stdout called processes Group: Syntax: Arguments: Description: OUTPUT "-NoCapture". none. default, output text called applications redirected from stdout. When this option set, this redirection does take place. there text output error case. This option does have influence detection called application issues error. This option only affect textual output. This option used speed making process applications which support output. Specifying this option equivalent specify start every command line. Example: also: maker test.mak -NoCapture Commands chapter using makefiles, containing thke description star command line prefix. Copyright 1987-1999 HIWARE Maker Manual Maker: Options Compile only Group: Syntax: Arguments: Example: Description: MODULA-2 none. maker test.mod With this macro only compile steps performed Modula-2 build. linker called. This option only effect processing Modula-2 makefiles. Copyright 1987-1999 HIWARE Maker Manual Maker: Options Silent Mode Group: Syntax: Arguments: Example: Description: OUTPUT none. maker test.mod mode with Maker does echo commands executed. This mode used user fixes attention messages make called tools, where large list commands executed would disturb him. Copyright 1987-1999 HIWARE Maker Manual Maker: Options Prints Version Group: Syntax: Arguments: Description: VARIOUS "-V". none. Prints version components Make Note: This option useful determine current directory Maker. Example: Enter command line. Copyright 1987-1999 HIWARE Maker Manual Maker: Options -View -View: Application Standard Occurrence (PC) Group: Syntax: Arguments: HOST "-View" <kind>. <kind> "Window": Application window default window size "Min": Application window minimized "Max": Application window maximized "Hidden": Application window visible (only arguments) Application started with arguments: Minimized. Application started without arguments: Window. Normally application (e.g. linker, compiler, maker, started normal window arguments given. application started with arguments (e.g. from maker compile/link file) then application running minimized allow batch processing. However, with this option behavior specified. Using -ViewWindow application visible with normal window. Using -ViewMin application visible iconified task bar). Using -ViewMax application visible maximized (filling hole screen). Using -ViewHidden application processes arguments (e.g. files compiled/linked) completely invisible back ground window/icon taskbar visible). However e.g. using option dialog still possible. -ViewMin fibo.mak Default: Description: Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WErrFile -WErrFile: Create "err.log" Error File Group: Syntax: Arguments: Default: Description: MESSAGE "-WErrFile" ("On" "Off"). none. err.log created/deleted. error feedback from compiler called tools done with return code. windows environments, this possible, error case file "err.log" with numbers errors written into used signal error. state error, file "err.log" deleted. Using UNIX WIN32, there return code available, this file longer needed when only UNIX WIN32 applications involved. maker with this tool, error file must created order signal error. Example: -WErrFileOn err.log created/deleted when application finished. -WErrFileOff existing err.log modified. also: Option -WStdout Option -WOutFile Copyright 1987-1999 HIWARE Maker Manual Maker: Options -Wmsg8x3 -Wmsg8x3: file names Microsoft format Group: Syntax: Arguments: Description: MESSAGE "-Wmsg8x3". none. Some editors (e.g. early versions WinEdit) expecting file name Microsoft message format strict format, that means file name have most characters with more than characters extension. Using Win95 WinNT longer file names possible. With this option file name Microsoft message truncated format. This option only available version maker. This option only affects representation error output. also: Option -WmsgFi Option -WmsgFb Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFb (-WmsgFbi, -WmsgFbm) -WmsgFb: message file format batch mode Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgFb" ["v" "m"]. "v": Verbose format. "m": Microsoft format. -WmsgFbm Maker HI-CROSS tools started with additional arguments (e.g. make files processed together with Maker options). Maker been started with arguments (e.g. from Make Tool itself with `%f' argument from WinEdit), Maker proceeds make files batch mode. batch mode Maker window visible terminates after completion. HI-CROSS tool working batch mode messages issued written file instead screen. default, HI-CROSS tools Microsoft message format With this option, default format changed from Microsoft format (only line information) more verbose error format with line, column source information. This important make tool than other HI-CROSS tools. Most messages Maker don't contain source position information. Maker only important notice that Maker reads error output called tools over error output file prints lines containing keywords ERROR, FATAL, WARNING INFORMATION output. Example: maker test.mak -WmsgFbi Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFi (-WmsgFiv, -WmsgFim) -WmsgFi: message format interactive mode Group: Syntax: Arguments: Default: Example: Description: MESSAGE "-WmsgFi" ["v" "m"]. "v": Verbose format. "m": Microsoft format. -WmsgFiv maker test.mak -WmsgFim Same -WmsgFb file output -WmsgFi standard output interactive Maker. Maker started without additional arguments, Maker interactive mode (that window visible). default, Maker uses verbose error file format write messages (errors, warnings, information messages). With this option, default format changed from verbose format (with source, line column information) Microsoft format (only line information). Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFob -WmsgFob: Message format Batch Mode Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgFob"<string>. <string>: format string (see below). -WmsgFob"%f%e(%l): %m\n" With this option possible modify default message format batch mode. Following formats supported (supposed that source file x:\hiware\mymakefile.makefile) Format Description Example Source Extract Path x:\hiware\ Path name x:\hiware\mymakefile File name mymakefile Extension .makefile File chars) mymakefi Extension chars) .mak Line Column 1234 Upercase kind ERROR Lowercase kind error Number M1815 Message text Percent line Example: COMPOPTIONS=-WmsgFob"%f%e(%l): %m\n" produces message following format: X:\C.mak(3): information M1234: text also: Environment variable ERRORFILE Option -WmsgFb Option -WmsgFi Option -WmsgFonp Copyright 1987-1999 HIWARE Maker Manual Maker: Options Option -WmsgFoi Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFoi -WmsgFoi: Message Format Interactive Mode Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgFoi"<string>. <string>: format string (see below). -WmsgFoi"\n>> \"%f%e\", line %o\n%s\n%K %m\n" With this option possible modify default message format interactive mode. Following formats supported (supposed that source file x:\hiware\mymakefile.mak): Format Description Example Source Extract Path x:\hiware\ Path name x:\hiware\mymakefile File name mymakefile Extension .makefile File chars) mymakefi Extension chars) .mak Line Column 1234 Upercase kind ERROR Lowercase kind error Number M1815 Message text Percent line Example: COMPOPTIONS=-WmsgFoi"%f%e(%l): %m\n" produces message following format: X:\C.C(3): information M1234: text also: Environment variable ERRORFILE Copyright 1987-1999 HIWARE Maker Manual Maker: Options Option -WmsgFb Option -WmsgFi Option -WmsgFonp Option -WmsgFob Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFonf -WmsgFonf: Message Format File Information Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgFonf"<string>. <string>: format string (see below). -WmsgFonf"%K %m\n" Sometimes there file information available message (e.g. message related specific file). Then this message format string used. Following formats supported: Format Description Example Upercase kind ERROR Lowercase kind error Number M1815 Message text Percent line Example: COMPOPTIONS=-WmsgFonf"%k %m\n" produces message following format: information M1234: text also: Option -WmsgFb Option -WmsgFi Option -WmsgFonp Option -WmsgFoi Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgFonp -WmsgFonp: Message Format Position Information Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgFonp"<string>. <string>: format string (see below). -WmsgFonp"%f%e: %m\n" Sometimes there position information available message (e.g. message related certain position). Then this message format string used. Following formats supported: Format Description Example Upercase kind ERROR Lowercase kind error Number M1815 Message text Percent line Example: COMPOPTIONS=-WmsgFonf"%k %m\n" produces message following format: information M1234: text also: Environment variable ERRORFILE Option -WmsgFb Option -WmsgFi Option -WmsgFonp Option -WmsgFoi Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgNe -WmsgNe: Number Error Messages Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgNe" <number>. <number>: Maximum number error messages. With this option amount error messages until Maker stops processing. Note that subsequent error messages, which depend previous one, confusing. maker.exe -WmsgNe2 test.mak Maker stops processing after error messages. also: Option -WmsgNi Option -WmsgNw Message Types Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgNi -WmsgNi: Number Information Messages Group: Syntax: Arguments: Default: Description: Example: MESSAGE "-WmsgNi" <number>. <number>: Maximum number information messages. With this option amount information messages set. maker.exe -WmsgNi10 test.mak Only information messages logged. also: Option -WmsgNe Option -WmsgNw Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgNu -WmsgNu: Disable User Messages Group: Scope: Syntax: Arguments: MESSAGE None. "-WmsgNu" ["=" {"a" "d"}]. "a": Disable messages about include files "b": Disable messages about reading files "c": Disable messages about generated files "d": Disable messages about processing statistics "e": Disable informal messages none. none. none. application produces some messages which normal message categories (WARNING, INFORMATION, WRROR, FATAL). With this option such messages disabled. idea this option reduce amount messages simplify error parsing other tools. "a": application informs about included files. With this suboption this disabled. "b": With this suboption messages about reading files e.g. files used input disabled. "c": Disables messages informing about generated files. "d": application inform about statistics, e.g. code size, RAM/ROM usage With this suboption this disabled. "e": With this option informal messages (e.g. memory model, floating point format, disabled. Depending application, suboptions make sense. this case they just ignored compatibility. -WmsgNu=c Default: Defines: Pragmas: Description: Note: Example: Copyright 1987-1999 HIWARE Maker Manual Maker: Options also: none. Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgNw -WmsgNw: Number Warning Messages Group: Syntax: Arguments: Default: Description: Example: MESSAGE "-WmsgNw" <number>. <number>: Maximum number warning messages. With this option amount warning messages set. maker.exe -WmsgNw15 test.mak Only warning messages logged. also: Option -WmsgNi Option -WmsgNe Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgSd -WmsgSd: Setting Message Disable Group: Syntax: Arguments: Default: Description: Example: also: MESSAGE "-WmsgSd" <number>. <number>: Message number disabled, e.g. 1801 none. With this option message disabled, does appear error output. maker.exe test.mak -WmsgSd1801 Option -WmsgSi Option -WmsgSw Option -WmsgSe Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgSe -WmsgSe: Setting Message Error Group: Syntax: Arguments: Default: Description: Example: also: MESSAGE "-WmsgSe" <number>. <number>: Message number error, e.g. 1853 none. Allows changing message error message. maker.exe test.mak -WmsgSe1801 Option -WmsgSd Option -WmsgSi Option -WmsgSw Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgSi -WmsgSi: Setting Message Information Group: Syntax: Arguments: Default: Description: Example: also: MESSAGE "-WmsgSi" <number>. <number>: Message number information, e.g. 1853 none. With this option message information message. maker.exe test.mak -WmsgSi1801 Option -WmsgSd Option -WmsgSw Option -WmsgSe Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgSw -WmsgSw: Setting Message Warning Group: Syntax: Arguments: Default: Description: Example: also: MESSAGE "-WmsgSw" <number>. <number>: Error number warning, e.g. 2901 none. With this option message warning message. maker.exe test.mak -WmsgSw1801 Option -WmsgSd Option -WmsgSi Option -WmsgSe Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WmsgVrb -WmsgVrb: Verbose Mode Group: Syntax: Arguments: Default: Description: MESSAGE "-WmsgVrb". none none. Without this option, error, warning information messages applications called Maker only printed, when application exits with return code program reports error. This option set, Maker prints contents printed error file specified section Message/Error Feedback maker.exe test.mak -WmsgVrb Option -WmsgSd Option -WmsgSi Option -WmsgSe Message Types Example: also: Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WOutFile -WOutFile: Create Error Listing File Group: Syntax: Arguments: Default: Description: MESSAGE "-WOutFile" ("On" "Off"). none. Error listing file created. This option controls error listing file should created all. error listing file contains list messages errors which created during compilation. Since text error feedback also handled with pipes calling application, possible obtain this feedback without explicit file. name listing file controlled environment variable ERRORFILE. Example: -WOutFileOn error file created specified with ERRORFILE. -WOutFileOff error file created. also: Option -WErrFile Option -WStdout Copyright 1987-1999 HIWARE Maker Manual Maker: Options -WStdout -WStdout: Write standard output Group: Syntax: Arguments: Default: Description: MESSAGE "-WStdout" ("On" "Off"). none. output written stdout. With Windows applications, usual standard streams available. text written into them does appear anywhere unless explicitly requested calling application.With this option controlled text error file should also written into stdout. Example: -WStdoutOn messages written stdout. -WErrFileOff Nothing written stdout. also: Option -WErrFile Option -WOutFile Copyright 1987-1999 HIWARE Maker Manual Maker: Options -W1: Information Messages Group: Syntax: Arguments: Default: Description: Example: also: MESSAGE "-W1". none. none. Inhibits Maker printing INFORMATION messages, only WARNINGs ERROR messages output. maker test.mak Option -WmsgNi Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Options -W2: Information Warning Messages Group: Syntax: Arguments: Description: Example: also: MESSAGE -W2. none. Suppresses messages type INFORMATION WARNING, only ERRORs printed. maker test.mak Option -WmsgNi Option -WmsgNw Message Types Copyright 1987-1999 HIWARE Maker Manual Maker: Messages Messages This chapter describes messages printed Make. Most messages generated make process issued from Make itself, from other processes programs were started from Make. differentiation levels made here seems important Compiler. There this amount adaptable error levels that especially when programming with help guarantee quality code. Make reads output other HICROSS tools have possibility classify messages issued called application message type, e.g. classify ERROR messages called programs warnings Make. Message Kinds There five kinds messages printed Make: INFORMATION message will printed make process will continue. WARNING message will printed Make will continue. ERROR message will printed make process will stopped. FATAL message will printed make process will aborted. DISABLE message been disabled. output will suppressed. Copyright 1987-1999 HIWARE Maker Manual Maker: Messages Message Details Make prints message, message contains message code (`M' Make) four five digit number. This number used search very fast indicated message. messages generated Make tool documented increasing number order easy fast retrieval. Each message also description available short example with possible solution tips problem. each message type message also noted, e.g. [ERROR] indicates that message error message. Make also capable change type message, e.g. [DISABLE, INFORMATION, WARNING, ERROR] indicates that message warning message default, user might change message either DISABLE, INFORMATION ERROR. Message List Messages Make Process following pages describe messages that issued when Make detects syntactical semantic error make file called application detects error that caught maker. Unknown message occurred [FATAL] Description: maker tried emit message which defined.This internal error which should occur. Please report occurrences distributor. Tips: find avoid reason unknown message. Message overflow, skipping <kind> messages [DISABLE, INFORMATION, WARNING, ERROR] Description: compiler show number messages specific kind controlled with options -WmsgNi, -WmsgNw -WmsgNe. Further options this kind displayed. Tips: Copyright 1987-1999 HIWARE Maker Manual Maker: Messages options -WmsgNi, -WmsgNw -WmsgNe change number messages. M64: Line Continuation occurred <FileName> [DISABLE, INFORMATION, WARNING, ERROR] Description: environment file, character line taken line continuation. This line next handles line only. Because path separation character MS-DOS also '\', paths often incorrectly written ending with '\'. Instead after last finish line with unless really want line continuation. Example Current Default.env LIBPATH=c:\hicross\lib\ OBJPATH=c:\hicross\work taken maker identical Tips: append behind LIBPATH=c:\hicross\lib\. OBJPATH=c:\hicross\work Note: Because this information occurs during initialization phase compiler, might occur error message. might occur "64: Line Continuation occurred <FileName>". M5000 User requested stop [ERROR] Description: user clicked "Stops current make process" icon. requested over dialog either continuing interrupting current make process. M5001 Error command line [ERROR] Description: syntactical error been detected command line make. Because make scans only tokens that start with (options), leaves other names command line unscanned, assuming them filenames, only option errors answered with this message. other syntactical errors M5019 printed. Example: maker illegal option Tips: Call Make with argument quick view list available options. Copyright 1987-1999 HIWARE Maker Manual Also: M5019 Maker: Messages M5002 Can't return <makefile> include file [ERROR] Description: Makefile that executed before opening include file can't reopened again. Tips: Check, Make file exists. M5003 Illegal dependency [ERROR] Description: Only identifiers filenames dependency list. Other tokens reported illegal this message. Example: makeall: inout.o message.o main.o Tips: name your targets with identifiers. M5004 Illegal macro reference [DISABLE, INFORMATION, WARNING,ERROR] Description: There name used user defined macro that identifier. user defined macros must named identifier. Example: makeall: src.c $(***) Tips: name your macros with identifiers. M5005 Macro substitution complex [ERROR] Description: macro can't solved cause table overflow. Tips: organize your makefile more structural. template make files that itself called from make with command line macros arguments. M5006 Macro reference closed [ERROR] Description: Macro right brace, that closing macro. Example: makeall: src.c $(MYMAC Tips: Close brace. Copyright 1987-1999 HIWARE Maker Manual Maker: Messages M5007 Unknown macro: <macroname> [DISABLE, INFORMATION, WARNING, ERROR] Description: <macroname> recognize declared macro. M5008 Macro definition command line long [ERROR] Description: Can't read line makefile because long. M5009 Illegal include directive [DISABLE, INFORMATION, WARNING, ERROR] Description: Include directive many arguments. Example (illegal): INCLUDE macros.inc utils.inc Tips: split includes several lines: INCLUDE macros.inc INCLUDE utils.inc M5010 Illegal line [ERROR] Description: Syntax error make file. Line starts with illegal token sequence. Example (illegal): makeAll: Compile Link echo done command start with spaces M5011 Illegal suffix inference rule [ERROR] Description: Rule illegal syntax. Example (correct): .c.o $(CC) $(CFLAGS) $*.c M5012 Include file found: <includefile> [DISABLE, INFORMATION, WARNING,ERROR] Description: Filename given argument INCLUDE command does specify existing file. Tips: verify that path settings your default.env file correct Default directory, environment variable `DefaultDir' File MCUTOOLS.INI set. M5013 Include file long: <includefile> [ERROR] Description: Copyright 1987-1999 HIWARE Maker Manual Can't include specified file because big. Tips: divide your included file several smaller files. Maker: Messages M5014 Circular macro substitution <macroname> [ERROR] Description: There been circular reference detected macro substitution. M5015 Colon (":") expected [ERROR] Description: target declaration followed dependencies always marked with colon after target identifier. M5016 Filename after INCLUDE expected [DISABLE, INFORMATION, WARNING, ERROR] Description: There been token detected after INCLUDE command that filename conform identifier make. Tips: Don't alphabetical digit characters filenames, even operating system allows M5017 Circular include, file <includefile> [ERROR] Description: Circular include references allowed make file. Example: File M.mak includes A.inc. A.inc includes B.inc. B.inc includes C.inc. C.inc includes A.inc M5018 Entry doesn't start column [ERROR] Description: Entries (Identifier: dependencies.) have start first column line. M5019 makefile found [ERROR] Description: makefile specified argument list does exist. Tips: verify that path settings your default.env file correct Default directory, environment variable `DefaultDir' File MCUTOOLS.INI set. M5020 Fatal error during initialization [ERROR] Description: initialization procedure make failed. Tips: Copyright 1987-1999 HIWARE Maker Manual Maker: Messages restore configuration that make worked well. M5021 Nothing make: target found [DISABLE, INFORMATION, WARNING, ERROR] Description: There target been specified make. M5022 Don't know make <target> [DISABLE, INFORMATION, WARNING, ERROR] Description: dependency list actually made target contains identifier that does exist file target list make file. Tips: Sometimes this message appears even dependencies existing targets files. resolution process dependencies Maker does cases succeed find targets. This happens especially when working with multiply layered rules. this case nothing helps than structure make file another way. Check settings your default.env M5023 Circular dependencies between <target1> <target2> [ERROR] Description: <target1> transitive closure dependency itself (circularity), e.g. build <target1> <target1> already built. <target2> last target handled, before circularity detected. Example: dependent (transitive closure) AA,BB,FF,EE,DD,XX M5024 Illegal option [DISABLE, INFORMATION, WARNING, ERROR] Description: Option specified command line illegal format. Example: Maker test.mak -DCC+\HC12\CHC12.EXE instead Maker test.mak -DCC=\HC12\CHC12.EXE Tips: With options available printed with expected argument list. M5027 Making target <target> [DISABLE, INFORMATION, WARNING, ERROR] Description: maker does currently build specified target. Copyright 1987-1999 HIWARE Maker Manual Maker: Messages Tips: special targets "BEFORE" "AFTER" executed just before just after target. They used initiations purposes cleanup. M5028 Command line long: <commandline> [ERROR] Description: Command line passed make long Maker. Messages Exec Process following pages describe messages that issued when execution command build command list target fails. M5100 Command line long exec [ERROR] Description: length command command list target make file long execute. M5101 file names expected [ERROR] Description: Some build commands make like "copy" "ren" need filenames arguments. this doesn't hold, this message printed. M5102 Input file found [DISABLE, INFORMATION, WARNING, ERROR] Description: built-in file command that needs open source file reading could find M5103 Output file opened [DISABLE, INFORMATION, WARNING, ERROR] Description: build-in file command that needs open create destination file writing failed open Tips: Check settings your default.env M5104 Error while copying [DISABLE, INFORMATION, WARNING, ERROR] Description: copy file another, failed block copy loop. file been opened blockwise write operation failed. Tips: Check attributes destination file. M5105 Renaming failed [DISABLE, INFORMATION, WARNING, ERROR] Copyright 1987-1999 HIWARE Maker Manual Maker: Messages Description: renaming file failed. Causes Illegal file names arguments source file does exist used another process destination file name already use. Tips: Check file (incl. attributes) rename filename. M5106 File name expected [DISABLE, INFORMATION, WARNING, ERROR] Description: argument build-in command expected specify existing file, illegal format file name. Tips: only names extensions that allowed C-identifiers, even your operation system allows more character types file names. M5107 File does exist [DISABLE, INFORMATION, WARNING, ERROR] Description: argument build-in command expected specify existing file, file does exist. Tips: Check settings your default.env M5108 Called application detected error [DISABLE, INFORMATION, WARNING, ERROR] Description: application called from make detected error that reported detail over error output error output found make. Tips: your tools file named EDOUT another file that specify over environment variable "ERRORFILE" your "default.env". lines this file starting with "ERROR", "FATAL", "WARNING" "INFORMATION" printed make, they enabled Maker. M5109 Echo <commandline> [DISABLE, INFORMATION, WARNING, ERROR] Description: This message issued when application called from make. whole macro expanded command line displayed. M5110 Called application caused system error [DISABLE, INFORMATION, WARNING, ERROR] Description: program executed make exited with error issued operating system. M5111 Change directory (cd) failed [DISABLE, INFORMATION, WARNING, ERROR] Description: Copyright 1987-1999 HIWARE Maker Manual build-in command "cd" could change directory. Tips: Explore directory specified exists. Check your working directory when using relative paths. Maker: Messages M5112 Called application: <error> [DISABLE, INFORMATION, WARNING, ERROR] Description: Called application detected error written error output file. error message <error> printed make message type enabled make. Example: ERROR M5112: called application detected error: "ERROR C1005: Illegal storage class!" string quoted message called program. Tips: application manually with specified arguments. manual called application further error diagnostics. Remember that reclassify message class called program "ERROR", "WARNING", "INFORMATION" disable M5113 Called application: <warning> [DISABLE, INFORMATION, WARNING, ERROR] Description: Called application issued warning written error output file. warning message <warning> printed make message type enabled make Example: WARNING M5113: called application: "WARNING C1038: Cannot friend myself" string quoted message called program. classify M5113 error then following message printed: ERROR M5112: called application: "WARNING C1038: Cannot friend myself" Tips: application manually with specified arguments. manual called application further diagnostics. Remember that reclassify message class called program "ERROR", "WARNING", "INFORMATION" disable M5114 Called application: <information> [DISABLE, INFORMATION, WARNING, ERROR] Description: Called application issued information written error output file. message <information> printed make. Example: INFORMATION M5114: called application "INFORMATION C1390: Implicit virtual Other recent searchesSi3220 - Si3220 Si3220 Datasheet Si3225 - Si3225 Si3225 Datasheet MMSZ5221B - MMSZ5221B MMSZ5221B Datasheet MMSZ5259B - MMSZ5259B MMSZ5259B Datasheet EPL2050 - EPL2050 EPL2050 Datasheet DS1847 - DS1847 DS1847 Datasheet DS1848 - DS1848 DS1848 Datasheet DS1847 - DS1847 DS1847 Datasheet APT84F50B2 - APT84F50B2 APT84F50B2 Datasheet APT84F50L - APT84F50L APT84F50L Datasheet
Privacy Policy | Disclaimer |