blob: a7a88bb67e1c894282207eb71f9d8a634fa67d24 [file] [log] [blame]
#
# Copyright (c) 2019, Infosys Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
include ../../Makefile.common
CC := g++
CFLAGS += -std=c++11
ifeq ($(DEBUG),true)
CFLAGS += -g
endif
ifeq ($(DEBUG),false)
CFLAGS += -O3
endif
SM_LIBNAME = $(LIBDIR)/libstatemachinefwk.so
SRCS := \
./actionTable.cpp \
./controlBlock.cpp \
./event.cpp \
./permDataBlock.cpp \
./procedureQueue.cpp \
./state.cpp \
./stateMachineEngine.cpp \
./tempDataBlock.cpp
SRCDIR := .
OBJECTS := $(patsubst $(SRCDIR)/%,$(OBJDIR)/stateMachineFwk/%,$(SRCS:.cpp=.o))
buildSmLIB: $(OBJECTS)
@echo "Linking"
@mkdir -p $(LIBDIR)
$(CC) $(CFLAGS) $(OBJECTS) -shared -o $(SM_LIBNAME)
$(OBJECTS) : $(OBJDIR)/stateMachineFwk/%.o : $(SRCDIR)/%.cpp
@mkdir -p $(OBJDIR)/stateMachineFwk
$(CC) $(CFLAGS) $(INC_DIRS) -fPIC -c -o $@ $<
all: buildSmLIB
install:all
-@echo "Installing"
-@mkdir -p $(TARGET_DIR)/lib
-@cp $(SM_LIBNAME) $(TARGET_DIR)/lib
clean:
@echo " Cleaning...";
-@rm -rf $(OBJDIR)/stateMachineFwk $(SM_LIBNAME)