-
-
Notifications
You must be signed in to change notification settings - Fork 9
Command Line Usage
To invoke adept from the command line, you can use the following:
adept [filename] [options]-
The filename parameter is optional and will default to
main.adeptif it exists. -
The options parameter is optional and will default to nothing. You can use one or more of the following options for it.
Shows help on adept usage and parameters.
Shows advanced help on adept usage and parameters.
Redirects the output filename relative to the target file. The proper output extension is optional and will be supplied by the compiler if omitted.
-n <output>[.extension]
adept main.adept -n result
adept main.adept -n result.exeSee -o for redirecting output relative to working directory
See pragma project_name for equivalent pragma directive
Redirects the output filename relative to the current working directory. The proper output extension is optional and will be supplied by the compiler if omitted.
-o <output>[.extension]
adept main.adept -o result
adept main.adept -o result.exeCompiles to object file.
adept -c main.adeptExecutes the resulting executable after compilation has finished.
adept main.adept -eCreates a compressed version of a file. The generated .dep file will be slightly faster to load.
adept main.adept -pThis feature may be removed in the future.
See pragma package for equivalent pragma directive
Disables all compiler warnings.
adept main.adept -wPreserves the generated object file.
adept main.adept -jSets the target optimization level.
-O<level>
adept main.adept -O0
adept main.adept -O1
adept main.adept -O2
adept main.adept -O3Levels range from 0 being no optimizations, to 3 being aggressive optimizations.
See pragma optimization for equivalent pragma directive
Prints compiler version information
Disables all runtime type information.
adept main.adept --no-typeinfoSee runtime type information for more information
See pragma no_typeinfo for equivalent pragma directive
Forces initialization of all undef values to standard default values.
adept main.adept --no-undefSee pragma no_undef for equivalent pragma directive
Disables the requirement for transcendent variables to be defined before being used.
adept main.adept --unsafe-metaSee pragma unsafe_meta for equivalent pragma directive
Disables the automatic zero-initialization of memory allocated with new.
adept main.adept --unsafe-newSee pragma unsafe_new for equivalent pragma directive
Enables runtime null pointer checks.
adept main.adept --null-checksWhenever a null pointer is dereferenced, used, or accessed, a runtime error will be triggered.
See pragma null_checks for equivalent pragma directive
Enables typically insignificant warnings
adept --fussySets the entry point of the program
--entry <function name>
adept --entry myFunction main.adeptSee pragma entry_point for equivalent pragma directive
Forces PIC relocation model.
adept main.adept --PICForbids PIC relocation model.
adept main.adept --no-PICForces linking against the libc math library.
adept main.adept --libmThis is equivalent to -lm when linking on linux.
See pragma libm for equivalent pragma directive
Ignores specific compiler errors and warnings.
adept main.adept --ignore-all # Enables all ignore options
adept main.adept --ignore-deprecation # Ignore deprecation warnings
adept main.adept --ignore-early-return # Ignore statements after 'return' warning
adept main.adept --ignore-obsolete # Ignore warnings from using obsolete features
adept main.adept --ignore-partial-support # Ignore partial compiler support warning
adept main.adept --ignore-unrecognized-directives # Ignore "bad" pragma directives
adept main.adept --ignore-unused # Ignore used variablesSee pragma ignore_* for equivalent pragma directives
Adds a directory to import search path. Whenever files are imported afterwards, this directory will be searched.
-I<PATH>
adept -I"~/common_adept_files/"See import search path for more information.
See pragma search_path for equivalent pragma directive
Add directory to native library search path.
-L<PATH>
adept -L"~/lib/"Links against native library.
-l<NAME>
adept -lhelloThis is equivalent to doing the following inside a source file:
foreign "hello" library
Sets the standard library folder
--std=<folder inside global import folder>
adept --std=2.3See pragma default_stdlib for similar pragma directive
Don't open console with executable (only applies to Windows)
adept --windowed
Turns all warnings into errors
adept -WerrorDisables code fragments for warnings
adept --short-warningsSee pragma short_warnings for equivalent pragma directive
Cross compile to Windows (Requires cross-compilation extension, only available for MacOS to Windows)
adept --windows
Cross compile to MacOS (Only results in object file, linking must be done manually)
adept --macos