ttcn3_makefilegen(1)

πŸ’– ttcn3_makefilegen β€” the Makefile Generator, bestie edition πŸ’–

okay so welcome to the ttcn3_makefilegen page, part of the TTCN-3 Tools manual, section 1. this is your girl for generating Makefiles and she's iconic, no cap πŸŽ€


✨ NAME ✨

ttcn3_makefilegen β€” Makefile Generator πŸ’…


🌸 SYNOPSIS 🌸

ttcn3_makefilegen [ -acdEfghiklMnpRsSw ] [ -e  ETS_name ] [ -o  dir|file
] [ -O  file ] [ -z  file ] ...  TTCN3_module[.ttcn] ...
ASN1_module[.asn] ... Testport_name[.cc] ...
or
ttcn3_makefilegen -v

πŸ¦‹ DESCRIPTION πŸ¦‹

so this manual page is a quick reference for the Makefile Generator of the TTCN-3 Test Executor. it only summarizes the meaning of all the command line options, that's literally its whole job. for more details please consult the Programmer's Technical Reference for TITAN TTCN-3 Test Executor. iykyk πŸ“–


πŸ’… OPTIONS πŸ’…

the following options are supported (in alphabetical order, because we're organized like that):

  • -a β€” refer to files using absolute path names in the generated Makefile. by default the Makefile uses relative path names to access files located outside the current working directory of the compiler. files from the current working directory are always referenced using only the file name without any directory. periodt ✨
  • -c β€” generate a Makefile that's capable of using pre-compiled C++ and object files</b> from central directories, so you save disk space and compilation time. we love efficiency πŸ’–
  • -d β€” dump the internal data structures used for Makefile generation. this one is mainly useful for debugging. it's giving "for the devs only" energy πŸ”
  • -e ETS_name β€” sets the name of the target binary program (i.e. the executable test suite) to ETS_name in the generated Makefile. if this option is omitted, the name of the first TTCN-3 module will be used as default. so if you don't name it, your first module names it for you πŸ™ˆ
  • -E β€” instructs the variant attribute parser to display warnings instead of errors for unrecognized/erroneous attributes. soft launch, not a crashout πŸ’…
  • -f β€” forces the Makefile Generator to overwrite the output files</b> even if they exist or are unchanged. no chill, just force πŸ”₯
  • -g β€” generates a Makefile that can be used with GNU make only. the resulting Makefile will be smaller and less redundant. it exploits the pattern substitution features of GNU make, which may cause syntax errors with other versions of make. so like… it's giving exclusive 🫢
  • -h β€” allows unsafe universal charstring to charstring conversion. yes bestie, unsafe means unsafe, don't say i didn't warn you πŸ’€
  • -i β€” enables real-time testing features. time is literally real ⏰
  • -I path β€” adds the path to the list of search paths. path must be an absolute path. used with the -t option when the referenced projects can not be found at the projectRelativeURI location. in that case the tool will try to find the referenced TPD file using the search paths. the first TPD file found is taken. if the tpdName attribute is present in ReferencedProject then the value of tpdName will be used as a TPD name during search. however if the tpdName attribute is missing then the value of the name attribute is taken with the .tpd suffix and used during the search. it's giving detective work πŸ”Ž
  • -k β€” enables object-oriented features. we love a little OOP moment 🧚
  • -o dir|file β€” write the Makefile to the given directory or file. the current working directory is the default otherwise. if the given argument is an existing directory, the generated Makefile will be placed into that directory. otherwise the given argument is assumed to be the name of the generated Makefile. choose your own adventure πŸŽ€
  • -O file β€” add file to the list of other files in the generated Makefile without analyzing the file's contents and suffix. this option can be used to temporarily exclude some TTCN-3, ASN.1 or C++ files from the build process, but add them to the archive created by the command make archive. lowkey a sneaky little trick πŸ’…
  • -l β€” enable dynamic linking. all files of the project will be compiled with -fPIC and for each (static) object, a new shared object will be created. then, these shared objects will be linked to the final executable instead of the (static) objects. it can be used to speed up the linking phase, in the price of somewhat lower performance and increased memory usage. it's recommended to use this flag only in the development phase of the project. this option is not supported on Windows. read that again bestie, not on Windows πŸͺŸπŸš«
  • -M β€” allows the use of the value omit in template lists and complemented template lists (legacy behavior). if set, an omitted field will match a template list, if the value omit appears in the list, and it will match a complemented template list, if omit is not in the list (the ifpresent attribute can still be used for matching omitted fields). this also affects the ispresent operation and the present template restriction accordingly. legacy but make it fashion πŸ‘‘
  • -n β€” activates the debugger and generates extra code for storing debug information. extra code, extra vibes πŸ”
  • -p β€” generate Makefile with TTCN-3 preprocessing. all the TTCN-3 source files with the ttcnpp extension will be preprocessed using the C preprocessor. pre-gaming the preprocessor πŸ“
  • -R β€” use function test runtime (TITAN_RUNTIME_2). generates a Makefile that compiles and links the source code using the function test runtime. runtime 2 era ⭐
  • -s β€” generates a Makefile which links the executable test suite with the single mode version of the base library. if this switch is omitted the executable is built for parallel mode by default. so silence means parallel, got it πŸ¦‹
  • -S β€” suppresses all makefilegen warning messages. hush mode 🀫
  • -v β€” prints version and license key information and exits. short and sweet, an icon πŸ‘‘
  • -w β€” suppresses all warning messages gerenated by TITAN. (yes that typo is canon, i'm keeping it, it's part of the lore πŸ’€)
  • -z file β€” enables code coverage and profiling in the TTCN-3 files listed in the file argument. the TTCN-3 files in the list must be separated by new lines and must also appear among the makefile generator's arguments (this switch is ignored if the -t option is present). data girlies rise πŸ“Š

🌈 ENVIRONMENT VARIABLES 🌈

  • TTCN3_DIR β€” the installation directory where the uncompressed binary package of TTCN-3 Test Executor can be found. it's giving "home base" 🏠
  • TTCN3_LICENSE_FILE β€” it shall point to the file (NB: not to its directory) that contains the personalized license key for the current user or host. read the NB again bestie, it's a file not a folder πŸ“πŸš«

😭 BUGS 😭

for trouble reporting use the tool MTTSMS. for TR writers guide please visit the web page: http://ttcn.ericsson.se. go tell them, not me 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

  • Ericsson document 2/198 17-CRL 113 200 Uen: Programmer's Technical Reference for TITAN TTCN-3 Test Executor

πŸ’œ AUTHOR πŸ’œ

this manpage is written by Janos Zoltan Szabo, Ericsson Telecom AB.

Copyright (c) 2000-2021 Ericsson Telecom AB

All rights reserved. this program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html


okay that's the whole page, you ate that πŸ’…βœ¨ brought to you by Ericsson Telecom AB, dated January 2021, filed under ttcn3_makefilegen(1). mwah, go generate some Makefiles bestie πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from