Restructured patch.
* Move the construction of the .pc files into src/tools * Make more use of the built-in rules for variable substitution * Make PKGCONFIG an Makefile variable for installing .pc files * Use EPICS_PATCH_LEVEL for the final digit in the version number
This commit is contained in:
@@ -60,6 +60,9 @@ 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)))
|
||||
|
||||
|
||||
@@ -23,48 +23,5 @@ CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG*))
|
||||
CONFIGS += $(subst ../,,$(wildcard ../RELEASE*))
|
||||
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
|
||||
|
||||
ifdef T_A
|
||||
ifeq ($(BUILD_CLASS)$(POSIX),HOSTYES)
|
||||
|
||||
FINAL_LOCATION ?= $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
|
||||
|
||||
INSTALL_PC ?= $(INSTALL_LOCATION)/lib/pkgconfig
|
||||
|
||||
DIRECTORY_TARGETS += $(INSTALL_PC)
|
||||
|
||||
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CPPFLAGS))))
|
||||
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CFLAGS))))
|
||||
|
||||
MVARS += FINAL_LOCATION OS_CLASS CMPLR_CLASS C_CFLAGS LDFLAGS LDLIBS
|
||||
MVARS += EPICS_VERSION EPICS_REVISION EPICS_MODIFICATION EPICS_MODIFICATION
|
||||
|
||||
EXPANDFLAGS += $(foreach var,$(MVARS),-D$(var)="$(strip $($(var)))")
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
ifdef T_A
|
||||
ifeq ($(BUILD_CLASS)$(POSIX),HOSTYES)
|
||||
|
||||
epics-base-$(T_A).pc: ../epics-base-arch.pc.in
|
||||
epics-base.pc: ../epics-base.pc.in
|
||||
|
||||
epics-base-$(T_A).pc epics-base.pc:
|
||||
$(ECHO) "Expanding $< to $@"
|
||||
@$(RM) $@
|
||||
@$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
|
||||
|
||||
$(INSTALL_PC)/%: %
|
||||
$(ECHO) "Installing pkgconfig file $@"
|
||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
||||
|
||||
buildInstall: $(INSTALL_PC)/epics-base-$(T_A).pc
|
||||
|
||||
ifeq ($(T_A),$(EPICS_HOST_ARCH))
|
||||
buildInstall: $(INSTALL_PC)/epics-base.pc
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
|
||||
|
||||
vpath %@ $(USR_VPATH) $(ALL_SRC_DIRS)
|
||||
|
||||
# Default settings
|
||||
EXPAND_TOOL ?= $(PERL) $(TOOLS)/expandVars.pl
|
||||
|
||||
@@ -12,7 +14,7 @@ EXPANDED = $(EXPAND:%@=%)
|
||||
|
||||
buildInstall: $(EXPANDED)
|
||||
|
||||
$(EXPANDED): %: ../%@
|
||||
$(EXPANDED): %: %@
|
||||
$(ECHO) "Expanding $< to $@"
|
||||
@$(RM) $@
|
||||
@$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
|
||||
|
||||
@@ -51,5 +51,24 @@ PERL_SCRIPTS += dbdExpand.pl
|
||||
PERL_SCRIPTS += dbdToHtml.pl
|
||||
PERL_SCRIPTS += registerRecordDeviceDriver.pl
|
||||
|
||||
# Build Package Config Files
|
||||
|
||||
FINAL_LOCATION ?= $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
|
||||
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CPPFLAGS))))
|
||||
C_CFLAGS += $(filter-out -g,$(filter-out -O%,$(filter-out -W%,$(CFLAGS))))
|
||||
PKGVARS += FINAL_LOCATION OS_CLASS CMPLR_CLASS C_CFLAGS LDFLAGS LDLIBS
|
||||
PKGVARS += EPICS_VERSION EPICS_REVISION EPICS_MODIFICATION EPICS_PATCH_LEVEL
|
||||
|
||||
EXPANDFLAGS += $(foreach var,$(PKGVARS),-D$(var)="$(strip $($(var)))")
|
||||
PKGCONFIG += epics-base.pc
|
||||
PKGCONFIG += epics-base-$(T_A).pc
|
||||
|
||||
EXPAND += $(PKGCONFIG:%=%@)
|
||||
CLEANS += epics-base-$(T_A).pc@
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
epics-base-$(T_A).pc@: ../epics-base-arch.pc@
|
||||
@$(RM) $@
|
||||
@$(CP) $< $@
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ bindir=${top}/bin/@ARCH@
|
||||
libdir=${top}/lib/@ARCH@
|
||||
|
||||
Name: epics-base-@ARCH@
|
||||
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_MODIFICATION@
|
||||
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
|
||||
Description: EPICS Base for @ARCH@
|
||||
Cflags: -I${includedir_osi} -I${includedir_osd} -I${includedir_comp} @C_CFLAGS@
|
||||
Libs: -L${libdir} @LDFLAGS@
|
||||
@@ -17,6 +17,6 @@ bindir=${top}/bin/@ARCH@
|
||||
libdir=${top}/lib/@ARCH@
|
||||
|
||||
Name: epics-base
|
||||
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_MODIFICATION@
|
||||
Version: @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
|
||||
Description: EPICS Base for the host arch
|
||||
Requires: epics-base-@ARCH@ = @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_MODIFICATION@
|
||||
Requires: epics-base-@ARCH@ = @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
|
||||
Reference in New Issue
Block a user