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
|
#*************************************************************************
# Copyright (c) 2013 UChicago Argonne LLC, 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 the file LICENSE that is included with this distribution.
#*************************************************************************
#
# Macros and rules to create a new installation file type
#
# --------------------------------------------------------------
# Module developers can now define a new type of file, e.g. ABC,
# so that files of type ABC will be installed into a directory
# defined by INSTALL_ABC. This is done by creating a new CONFIG<name>
# file, e.g. CONFIG_ABC, with the following lines:
#
# FILE_TYPE += ABC
# INSTALL_ABC = $(INSTALL_LOCATION)/abc
#
# The INSTALL_ABC directory should be be a subdirectory of
# $(INSTALL_LOCATION). The file type ABC should be target
# architecture independent (alh files, medm files, edm files).
#
# Files of type ABC are then installed into the INSTALL_ABC
# directory by adding a line like the following to a Makefile.
#
# ABC += <filename1> <filename2> <filename3>
#
# Rules necessary to create files of type ABC should be put in
# a RULES_ABC file. Variables used by those rules should appear
# in a CONFIG_ABC file.
#
# The module developer installs new CONFIG* or RULES* files
# into the directory $(INSTALL_LOCATION)/cfg by including the
# following Makefile line:
#
# CFG += CONFIG_ABC RULES_ABC
#
# CONFIG and RULES files in the $(INSTALL_LOCATION)/cfg directory
# are included by the Base config files so their definitions and
# rules are available for use by later src directory Makefiles in
# the same module, or by other modules with a RELEASE line that
# points to the TOP of the module providing these files.
FILE_TYPE += ADL
INSTALL_ADL = $(INSTALL_LOCATION)/adl
FILE_TYPE += ALH
INSTALL_ALH = $(INSTALL_LOCATION)/alh
FILE_TYPE += CFG
INSTALL_CFG = $(INSTALL_LOCATION)/cfg
FILE_TYPE += EDL
INSTALL_EDL = $(INSTALL_LOCATION)/edl
FILE_TYPE += PERL_MODULES
INSTALL_PERL_MODULES = $(INSTALL_LOCATION_LIB)/perl
FILE_TYPE += PKGCONFIG
INSTALL_PKGCONFIG = $(INSTALL_LOCATION_LIB)/pkgconfig
INSTALLS_CFG = $(CFG:%= $(INSTALL_CFG)/%)
DIRECTORY_TARGETS += $(foreach type, $(FILE_TYPE),$(INSTALL_$(type)))
|