Makefile

OSSEC is using (starting with 2.9) a single Makefile to build the binaries for each installation type. The Makefile uses features of GNU make, and it is a requirement of the build process. The make system attempts to perform all necessary tasks in a single run. The type of installation must be specified when executed because there is no state stored between executions.

Settings

All changes to the makefile that take external input should be reported via the settings build step. This allows troubleshooting and review of the environment, and the hope is that some new features will become discoverable for other developers.

% make DATABASE=mysql TARGET=server USE_ZEROMQ=1 USE_GEOIP=1 settings

General settings:
    TARGET:          server
    V:
    DEBUG:
    DEBUGAD
    PREFIX:          /var/ossec
    MAXAGENTS:       2048
    DATABASE:        mysql
User settings:
    OSSEC_GROUP:     ossec
    OSSEC_USER:      ossec
    OSSEC_USER_MAIL: ossecm
    OSSEC_USER_REM:  ossecr
Lua settings:
    LUA_PLAT:       macosx
USE settings:
    USE_ZEROMQ:     1
    USE_GEOIP:      1
    USE_PRELUDE:    0
Mysql settings:
    includes:       -I/usr/include/mysql/
    libs:           -L/usr/lib/mysql -lmysqlclient
Pgsql settings:
    includes:
    libs:
Defines:
    -DMAX_AGENTS=2048 -DOSSECHIDS -DDarwin -DHIGHFIRST -DZEROMQ_OUTPUT  -DGEOIP -DUMYSQL
Compiler:
    CFLAGS          -DMAX_AGENTS=2048 -DOSSECHIDS -DDarwin -DHIGHFIRST -DZEROMQ_OUTPUT  -DGEOIP -DUMYSQL  -Wall -Wextra -O2 -I./ -I./headers/
    LDFLAGS         -lzmq -lczmq -lGeoIP -L/usr/lib/mysql -lmysqlclient
    CC              cc
    MAKE            /Applications/Xcode.app/Contents/Developer/usr/bin/make

Options / Variables

TARGET

Defines the type of installation to build.

Allowed: server/agent/hybrid/local

V

V can toggle verbose building, and will instruct make to display the full output without color.

Applies to Target: all

Default: 0

Allowed: 0/1

PREFIX

PREFIX is the absolute path OSSEC will be installed to.

Warning

Please note that paths with SPACES and tabs in them are not supported and may cause compilation or runtime issues.

Applies to Target: all

Default: /var/ossec

Allowed: All valid paths

ZLIB_SYSTEM

New in version 3.0: ZLIB_SYSTEM can enable OSSEC to use a pre-installed zlib instead of the bundled version.

Applies to Target: all

Default: no

Allowed: yes/no

LUA_ENABLE

New in version 3.0: LUA_ENABLE can enable or disable the bundled lua support.

Applies to Target: all

Default: yes

Allowed: yes/no

MAXAGENTS

OSSEC is compiled with a maximum number of agents on the server/hybrid TARGETS. MAXAGENTS allows users to select values expected for their environment.

Applies to Target: server/hybrid

Default: 2048

Allowed: [2 - 65000]

DEBUG

DEBUG enables debugging symbols in all compiled programs.

Applies to Target: all

Default: 0

Allowed: 0/1

DEBUGAD

DEBUGAD enables extra debugging logging in ossec-analysisd.

Applies to Target: server/hybrid

Default: 0

Allowed: 0/1

OSSEC_USER

Default: ossec

OSSEC_GROUP

Default: ossec

OSSEC_USER_MAIL

Default: ossecm

OSSEC_USER_REM

Default: ossecr

LUA_PLAT

LUA_PLAT determines the platform that LUA will be compiled for.

This is autogenerated for each install.

Applies to Target: all

USE_GEOIP

USE_GEOIP enables support for MAX Mind GeoIP looks on output.

Applies to Target: server/hybrid/local

Default: 0

Allowed: 0/1

USE_PRELUDE

USE_PRELUDE enables support for Prelude-IDS alert output.

Applies to Target: server/hybrid/local

Default: 0

Allowed: 0/1

USE_ZEROMQ

USE_ZEROMQ enables support for zeromq output.

Applies to Target: server/hybrid/local

Default: 0

Allowed: 0/1

USE_SQLITE

USE_SQLITE enables support for sqlite3 databases.

Spplies to Target: server/hybrid/local

Default: 0

Allowed: 0/1

DATABASE

The DATABASE variable selects the database enviromnet to enable.

Applies to Target: server/hybrid/local

Allowed: mysql/pgsql