---
name: "ttcn3_makefilegen"
section: "1"
platform: "linux"
package: "eclipse-titan"
version: "8.2.0-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/ttcn3_makefilegen"
---

# ttcn3\_makefilegen(1)

Makefile Generator

## 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

This manual page is a quick reference for the Makefile Generator of the TTCN-3 Test Executor. It only summarizes the meaning of all command line options. For more details please consult the **Programmer's Technical Reference for TITAN TTCN-3 Test Executor.**

## OPTIONS

The following options are supported (in alphabetical order):

- **-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.

- **-c**

  Generate a Makefile that is capable of using pre-compiled C++ and object files from *central* directories in order to save disk space and compilation time.

- **-d**

  *Dump* the internal data structures used for Makefile generation. This option is mainly useful for debugging.

- **-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.

- **-E**

  Instructs the variant attribute parser to display warnings instead of errors for unrecognized/erroneous attributes.

- **-f**

  Forces the Makefile Generator to *overwrite* the output files even if they exist or are unchanged.

- **-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.

- **-h**

  Allows unsafe universal charstring to charstring conversion.

- **-i**

  Enables real-time testing features.

- **-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.

- **-k**

  Enables object-oriented features.

- **-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.*

- **-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.*

- **-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.

- **-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.

- **-n**

  Activates the debugger and generates extra code for storing debug information.

- **-p**

  Generate Makefile with *TTCN-3 preprocessing.* All the TTCN-3 source files with the *ttcnpp* extension will be preprocessed using the C preprocessor.

- **-R**

  Use function test runtime (TITAN\_RUNTIME\_2). Generates a Makefile that compiles and links the source code using the function test runtime.

- **-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.

- **-S**

  Suppresses all  *makefilegen* warning messages.

- **-v**

  Prints *version* and license key information and exits.

- **-w**

  Suppresses all *warning* messages gerenated by TITAN.

- **-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).

## ENVIRONMENT VARIABLES

- TTCN3\_DIR

  The installation directory where the uncompressed binary package of TTCN-3 Test Executor can be found.

- 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.

## BUGS

For trouble reporting use the tool **MTTSMS**. For TR writers guide please visit the web page: *http://ttcn.ericsson.se.*

## 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
