1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-23 00:00:01 +01:00
VILLASnode/clients/opal-rt/rtlab-asyncip/models/send_receive/AsyncIP.mk
Steffen Vogel b4c3ef8ac0 fix(opal): Restructure OPAL-RT clients
Signed-off-by: Steffen Vogel <steffen.vogel@opal-rt.com>
2024-10-31 13:29:31 +01:00

66 lines
1.4 KiB
Makefile

# Makefile.
#
# Author: Steffen Vogel <post@steffenvogel.de>
# SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
# SPDX-License-Identifier: Apache-2.0
# Specify program name
PROGRAM = AsyncIP
TARGET_RTLAB_ROOT ?= /usr/opalrt
RTLAB_ROOT = $(TARGET_RTLAB_ROOT)
# Intel is the default compiler
RTLAB_INTEL_COMPILER ?= 0
ifeq ($(RTLAB_INTEL_COMPILER),1)
CC = opicc
else
CC = gcc
endif
LIB_TARGET = -lpthread -lrt -lm
# Add Intel C library for compilation with gcc
ifeq ($(RTLAB_INTEL_COMPILER),0)
LIB_TARGET += -lirc -ldl
else
LD_OPTS += -diag-disable remark,warn
endif
LD := $(CC)
CC_OPTS = -std=c99 -D_GNU_SOURCE -MMD
LD_OPTS =
OBJS = main.o msg.o utils.o socket.o
ifeq ($(DEBUG),1)
CC_OPTS += -g -D_DEBUG
LD_OPTS += -g
else
CC_OPTS += -O
endif
ifneq ($(PROTOCOL),)
CC_OPTS += -DPROTOCOL=$(PROTOCOL)
endif
INCPATH = -I. -I$(RTLAB_ROOT)/common/include_target
LIBPATH = -L. $(OPAL_LIBPATH)
# The required libraries are transfered automatically in the model directory before compilation
LIBS := -lOpalAsyncApiCore -lOpalCore -lOpalUtils $(OPAL_LIBS) $(LIB_TARGET)
CFLAGS = $(CC_OPTS) $(INCPATH)
LDFLAGS = $(LD_OPTS) $(LIBPATH)
all: $(PROGRAM)
install:
\mkdir -p $(RTLAB_ROOT)/local
\chmod 755 $(RTLAB_ROOT/local
\cp -f $(PROGRAM) $(RTLAB_ROOT)/local
clean:
\rm -f $(OBJS) $(PROGRAM)
$(PROGRAM): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) -Wl,--start-group $(LIBS) -Wl,--end-group