Makefile 5.44 KB
Newer Older
Jean-Luc Pons's avatar
Jean-Luc Pons committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
#=============================================================================
#
# file :        Makefile
#
# description : Makefile to generate a TANGO device server.
#
# project :     LiberaSparkSRBPM
#
#=============================================================================
#                This file is generated by POGO
#        (Program Obviously used to Generate tango Object)
#=============================================================================
#
#
# MAKE_ENV is the path to find common environment to build project
#
MAKE_ENV = /segfs/tango/cppserver/env

#=============================================================================
# PACKAGE_NAME is the name of the library/device/exe you want to build
#
PACKAGE_NAME = LiberaSparkSRBPM
MAJOR_VERS   = 1
MINOR_VERS   = 0
RELEASE      = Release_$(MAJOR_VERS)_$(MINOR_VERS)
BASE_VER     = 3.0
BOOST_VER    = 1_60_0

# #=============================================================================
# # RELEASE_TYPE
# # - DEBUG     : debug symbols - no optimization
# # - OPTIMIZED : no debug symbols - optimization level set to O2
# #-----------------------------------------------------------------------------
RELEASE_TYPE = RELEASE

#=============================================================================
# OUTPUT_TYPE can be one of the following :
#   - 'STATIC_LIB' for a static library (.a)
#   - 'SHARED_LIB' for a dynamic library (.so)
#   - 'DEVICE' for a device server (will automatically include and link
#            with Tango dependencies)
#   - 'SIMPLE_EXE' for an executable with no dependency (for exemple the test tool
#                of a library with no Tango dependencies)
#
OUTPUT_TYPE = DEVICE

#=============================================================================
# OUTPUT_DIR  is the directory which contains the build result.
# if not set, the standard location is :
#	- ./lib   if OUTPUT_TYPE is SHARED_LIB or STATIC_LIB
#	- ./bin for others
#
#OUTPUT_DIR =


#=============================================================================
# INC_DIR_USER is the list of all include path needed by your sources
#   - for a device server, tango dependencies are automatically appended
#   - '-I ../include' and '-I .' are automatically appended in all cases
#
INC_DIR_USER= -I . \
-I/segfs/linux/libera/LiberaPlatformC/libera3.0/arm/include \
-I/segfs/linux/libera/LiberaPlatformC/boost_$(BOOST_VER)/arm/include


#=============================================================================
# LIB_DIR_USER is the list of user library directories
#   - for a device server, tango libraries directories are automatically appended
#   - '-L ../lib' is automatically appended in all cases
#
LIB_DIR_USER= -L /segfs/linux/libera/LiberaPlatformC/libera3.0/arm/lib

#=============================================================================
# LFLAGS_USR is the list of user link flags
#   - for a device server, tango libraries directories are automatically appended
#   - '-ldl -lpthread' is automatically appended in all cases
#
# !!! ATTENTION !!!
# Be aware that the order matters. 
# For example if you must link with libA, and if libA depends itself on libB
# you must use '-lA -lB' in this order as link flags, otherwise you will get
# 'undefined reference' errors
#
LFLAGS_USR+= \
			-liapp$(BASE_VER) \
			-listd$(BASE_VER) \
			-licfg$(BASE_VER) \
			-lmci$(BASE_VER) \
			-lireg$(BASE_VER) \
			-linet$(BASE_VER) \
			-lbmc$(BASE_VER) \
			-lisig$(BASE_VER) \
			-listd$(BASE_VER)


#=============================================================================
# CXXFLAGS_USR lists the compilation flags specific for your library/device/exe
# This is the place where to put your compile-time macros using '-Dmy_macro'
#
# -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ for ACE
#
CXXFLAGS_USR+= -std=gnu++0x -D_GLIBCXX_USE_NANOSLEEP


#=============================================================================
# TANGO_REQUIRED 
# - TRUE  : your project depends on TANGO
# - FALSE : your project does not depend on TANGO
#-----------------------------------------------------------------------------
# - NOTE : if PROJECT_TYPE is set to DEVICE, TANGO will be auto. added
#-----------------------------------------------------------------------------  
TANGO_REQUIRED = TRUE



#=============================================================================
#	include Standard TANGO compilation options
#
#include $(MAKE_ENV)/tango.opt
include $(MAKE_ENV)/tango_arm-xilinx.opt

#=============================================================================
#	POST_PROCESSING: action to be done after normal make.
#	e.g.:  change executable file name, .....
#POST_PROCESSING = \
#	mv bin/$(BIN_DIR)/$(PACKAGE_NAME) bin/$(BIN_DIR)/$(PACKAGE_NAME)_DS

#=============================================================================
# SVC_OBJS is the list of all objects needed to make the output
#
SVC_INCL =  $(PACKAGE_NAME).h $(PACKAGE_NAME)Class.h 


SVC_OBJS =      \
		$(LIB_OBJS) \
		$(OBJDIR)/ClassFactory.o  \
        $(OBJDIR)/main.o

LIB_OBJS = \
        $(OBJDIR)/$(PACKAGE_NAME).o \
        $(OBJDIR)/$(PACKAGE_NAME)Class.o \
        $(OBJDIR)/$(PACKAGE_NAME)StateMachine.o \
        $(OBJDIR)/SAThread.o \
        $(OBJDIR)/DDThread.o \
        $(OBJDIR)/IQThread.o \
        $(OBJDIR)/ADCThread.o \
        $(OBJDIR)/PosCalculation.o \
        $(ADDITIONAL_OBJS)

SVC_INHERITANCE_OBJ =  \


#=============================================================================
#	include common targets
#
include $(MAKE_ENV)/common_target.opt