#+====================================================================== # $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ # $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ # # Project : CODAC Core System # # Description : gyrotronDAN Makefile # # Author : This file was generated by CODAC development toolkit # # Copyright (c) : 2010-2018 ITER Organization, # CS 90 046 # 13067 St. Paul-lez-Durance Cedex # France # # This file is part of ITER CODAC software. # For the terms and conditions of redistribution or use of this software # refer to the file ITER-LICENSE.TXT located in the top level directory # of the distribution package. # #-====================================================================== PROGNAME=Gyrotron01DAN LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries LIBRARY_DIRS= INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) TARGET=../../../../target BINARY_DIR=$(TARGET)/bin OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) SOURCE_DIR=. EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp # to build executable from all sources in the program directory: #SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) C=gcc CC=g++ CFLAGS=-c -Wall CCFLAGS=-c -Wall -std=c++11 LDFLAGS= .PHONY: all clean run all: $(SOURCES) $(EXECUTABLE) clean: rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" run: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) mkdir -p $(BINARY_DIR) $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ $(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp mkdir -p $(OBJECT_DIR) $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ $(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c mkdir -p $(OBJECT_DIR) $(C) $(CFLAGS) $(INCLUDES) $< -o $@