This lets src/cap5 build with Perl installations that lack Perl's podchecker and pod2html scripts (e.g. Fedora 27).
76 lines
2.3 KiB
Makefile
76 lines
2.3 KiB
Makefile
#*************************************************************************
|
|
# Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne
|
|
# National Laboratory.
|
|
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
# in file LICENSE that is included with this distribution.
|
|
#*************************************************************************
|
|
|
|
TOP=../..
|
|
include $(TOP)/configure/CONFIG
|
|
|
|
|
|
# Special settings for Darwin:
|
|
ifeq ($(OS_CLASS),Darwin)
|
|
# Use hdepends command (not GNU compiler flags)
|
|
# to generate header file dependancies for Darwin.
|
|
# Darwin has multiple -arch compiler flags.
|
|
HDEPENDS_METHOD = CMD
|
|
|
|
# Perl loadable libraries on Darwin have funny names
|
|
LOADABLE_SHRLIB_PREFIX =
|
|
LOADABLE_SHRLIB_SUFFIX = .$(shell $(PERL) ../perlConfig.pl dlext)
|
|
endif
|
|
|
|
ifdef T_A
|
|
PERL_VERSION = $(shell $(PERL) ../perlConfig.pl version)
|
|
PERL_ARCHNAME = $(shell $(PERL) ../perlConfig.pl archname)
|
|
PERL_ARCHPATH := $(PERL_VERSION)/$(PERL_ARCHNAME)
|
|
|
|
EXTUTILS := $(shell $(PERL) ../perlConfig.pl privlib)/ExtUtils
|
|
PERLBIN := $(shell $(PERL) ../perlConfig.pl bin)
|
|
XSUBPP := $(firstword $(wildcard $(PERLBIN)/xsubpp $(EXTUTILS)/xsubpp))
|
|
|
|
ifeq ($(strip $(XSUBPP)),)
|
|
$(warning Perl's xsubpp program was not found.)
|
|
$(warning The Perl CA module will not be built.)
|
|
else
|
|
ifeq ($(T_A),$(EPICS_HOST_ARCH)) # No cross-builds (wrong Perl!)
|
|
ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) # Doesn't build on WIN32
|
|
LOADABLE_LIBRARY_HOST = Cap5
|
|
|
|
PERL_SCRIPTS += cainfo.pl
|
|
PERL_SCRIPTS += caput.pl
|
|
PERL_SCRIPTS += caget.pl
|
|
PERL_SCRIPTS += capr.pl
|
|
PERL_SCRIPTS += camonitor.pl
|
|
|
|
PERL_MODULES += CA.pm
|
|
PERL_MODULES += $(PERL_ARCHPATH)/$(LOADABLE_SHRLIB_PREFIX)Cap5$(LOADABLE_SHRLIB_SUFFIX)
|
|
|
|
HTMLS_DIR = .
|
|
HTMLS = CA.html
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
Cap5_SRCS = Cap5.xs
|
|
Cap5_LIBS = ca Com
|
|
Cap5_INCLUDES = -I$(shell $(PERL) ../perlConfig.pl archlib)/CORE
|
|
Cap5_CFLAGS = $(shell $(PERL) ../perlConfig.pl ccflags)
|
|
|
|
include $(TOP)/configure/RULES
|
|
|
|
ifdef T_A
|
|
%.c: ../%.xs
|
|
$(RM) $@ $@_new
|
|
$(PERL) $(XSUBPP) -typemap $(EXTUTILS)/typemap $< > $@_new && $(MV) $@_new $@
|
|
|
|
$(INSTALL_PERL_MODULES)/$(PERL_ARCHPATH)/%: %
|
|
$(ECHO) "Installing loadable shared library $@"
|
|
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_PERL_MODULES)/$(PERL_ARCHPATH)
|
|
|
|
clean::
|
|
$(RM) Cap5.c
|
|
endif
|