#************************************************************************* # Copyright (c) 2002 The University of Chicago, as Operator of Argonne # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* #--------------------------------------------------------------- # EPICS Base directories EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH) EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) ifdef T_A EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A) EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A) endif #--------------------------------------------------------------- # EPICS Base Ioc libraries EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com #--------------------------------------------------------------- # EPICS Base Host libraries EPICS_BASE_HOST_LIBS += cas gdd EPICS_BASE_HOST_LIBS += ca Com #--------------------------------------------------------------- # Version number for base shared libraries (and win32 products) ifdef BASE_TOP # Unix lib.so. Darwin lib..dylib SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) # Windows only allows 2 levels of version numbering PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION) BASE_CPPFLAGS += -DUSE_TYPED_RSET endif # BASE_TOP #--------------------------------------------------------------- # Base c preprocessor flags # osithread default stack OSITHREAD_USE_DEFAULT_STACK = NO OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK)) #--------------------------------------------------------------- # Where to find the installed build tools # Windows does not like commands with relative paths starting ../ # but the Perl scripts in TOP/src/tools are OK TOOLS = $(abspath $(EPICS_BASE_HOST_BIN)) FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1))) #--------------------------------------------------------------- # EPICS Base build tools and tool flags MAKEBPT = $(TOOLS)/makeBpt$(HOSTEXE) DBEXPAND = $(PERL) $(TOOLS)/dbdExpand.pl DBTORECORDTYPEH = $(PERL) $(TOOLS)/dbdToRecordtypeH.pl DBTOMENUH = $(PERL) $(TOOLS)/dbdToMenuH.pl REGISTERRECORDDEVICEDRIVER = $(PERL) $(TOOLS)/registerRecordDeviceDriver.pl CONVERTRELEASE = $(PERL) $(call FIND_TOOL,convertRelease.pl) FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl GENVERSIONHEADER = $(PERL) $(TOOLS)/genVersionHeader.pl $(QUIET_FLAG) #--------------------------------------------------------------- # tools for installing libraries and products INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(QUIET_FLAG) INSTALL_PRODUCT = $(INSTALL) INSTALL_LIBRARY = $(INSTALL) #--------------------------------------------------------------- # tools for making header dependancies and variable replacement MKMF = $(PERL) $(TOOLS)/mkmf.pl REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl #--------------------------------------------------------------- # Our versions of lex (flex) and yacc (antelope) EYACC = $(TOOLS)/antelope$(HOSTEXE) ELEX = $(TOOLS)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static YACC = $(EYACC) LEX = $(ELEX) #--------------------------------------------------------------- # The 3.15 version of msi supports new options MSI3_15 = $(EPICS_BASE_HOST_BIN)/msi