Commit Graph
229 Commits
Author SHA1 Message Date
615ba73044 Rules to generate and install Markdown
Markdown can be generated from .pod and .dbd.pod files.
Markdown will be generated and installed by "make inc".

Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
Co-authored-by: Andrew Johnson <anj@anl.gov>
2024-10-02 09:16:29 -05:00
zimochandAndrew Johnson 403ebab858 use more standard permissions for bins and libs 2024-08-21 09:50:26 -05:00
MinijacksonandMichael Davidsaver d87fd0db01 Fix MAKEFLAGS parsing with Make 4.4+
Since Make version 4.4, MAKEFLAGS also contains long options and
overridden variables on the command-line[1].

[1]: https://git.savannah.gnu.org/cgit/make.git/tree/NEWS?h=4.4#n67

This means that parsing by filtering out '--%' doesn't work reliably
anymore, since it doesn't remove overrides:

Running 'make VAR=quacks' gives 'MAKEFLAGS=" -- VAR=quacks"', and
'checkflags' would understand that flags -q, -s, ... were set.

This would get transmitted below into 'QUIET_FLAGS' and
'QUESTION_FLAG', then passed to the 'genVersionHeader.pl' as '-i' and
'-q'.

The result would be that 'genVersionHeader.pl' would never create the
version header (only check for its up-to-date status), leading to
confusing errors:

  ../misc/epicsRelease.c:25:32: error: expected ')' before 'EPICS_VCS_VERSION'
     25 |     printf ( "## %s\n", "Rev. " EPICS_VCS_VERSION );
        |            ~                   ^~~~~~~~~~~~~~~~~~

The NEWS file[1] recommends using 'firstword', but unfortunately this is
not compatible with GNUMake < 3.82.
2023-07-22 08:36:43 -07:00
Andrew Johnson c0db7a0beb Fix ECHO, QUIET_FLAG and QUESTION_FLAG 2022-08-26 15:22:30 -05:00
Michael Davidsaver f086be93a9 add OPT_LDFLAGS and pass -g when linking 2022-08-20 13:53:03 -07:00
Michael Davidsaver 4b8edd2b6f automatic COMMANDLINE_LIBRARY w/ newer compilers 2022-07-28 13:07:34 -07:00
Andrew Johnson 1c3aa01846 Cleanup CONFIG_COMMON
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 beatnik (push) Has been cancelled
Base / CentOS-8 (push) Failing after 1s
Base / CentOS-7 (push) Failing after 6s
Base / Fedora-33 (push) Failing after 2s
Base / Fedora-latest (push) Failing after 1s
Base / Ub-20 gcc-9 + RT-5.1 pc686 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 uC5282 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Win2019 MSC-19, debug (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu (push) Has been cancelled
Base / Win2019 mingw (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Rewrote some definitions for clarity
2021-11-25 18:37:22 -06:00
Andrew Johnson 191ff137f1 configure: Use GNU Make's abspath instead of fullPathname.pl
Add new INSTALL_ABSOLUTE variable, remove duplicates.
2021-11-25 13:27:35 -06:00
Andrew Johnson dff72029f1 Fix typos in internal build variable names 2021-06-29 21:57:42 -05:00
Andrew Johnson ac0693f2f2 Merge 7.0 into rtems5 2021-06-04 16:11:10 -05:00
Michael Davidsaver fa9fb0a3ca one FINAL_LOCATION 2021-05-19 09:02:21 -07:00
Brendan Chandler 5c792687a6 Merge branch '7.0' into rtems5 2021-02-05 12:21:20 -06:00
Brendan Chandler a5604ccbf0 Reintroduce API_CPPFLAGS argument to fix Windows builds 2021-01-29 12:36:32 -06:00
Heinz JunkesandBrendan Chandler 8ef4d29c48 Enable Epics for RTEMS5 (posix) 2021-01-29 12:36:31 -06:00
Michael DavidsaverandBrendan Chandler 1b6b32e9ca restore $(API_CPPFLAGS) 2021-01-29 12:36:31 -06:00
Heinz JunkesandBrendan Chandler bba7d8c8f8 Enable Epics for RTEMS5 (posix) 2021-01-27 15:36:10 -06:00
Ralph Lange 40d9a21c0c Merge 3.15 into 7.0 - build system fixes
- improve silencing the build
- assemblies fix for Windows
2021-01-26 17:44:24 +01:00
Andrew Johnson d997690aa5 Build: Fix tests for the 'make -s' flag
'make -j2' or more adds an 's' to MFLAGS in "--jobserver-fds".
This is the correct way to do the check.
2020-12-30 13:08:48 -06:00
Andrew Johnson 9e7fc1915b Add build rules to generate and install *API.h header files 2020-03-07 01:05:05 -06:00
Andrew Johnson 588fa4f3b2 Trivial formatting changes in configure/ 2019-10-21 22:39:04 -05:00
Michael Davidsaver 02bec52f0a Merge remote-tracking branch 'lp-make/rpath-origin' into 7.0
* lp-make/rpath-origin:
  makeRPath allow multiple root directories
  redo softIoc to be more c++y
  rpath $ORIGIN doc
  older binutils compat
  travis-ci test rpath $ORIGIN
  epicsGetExecName WIN32, Darwin, solaris, freebsd
  epicsGetExecDir() paths relative to executable
  LINKER_USE_RPATH=ORIGIN

# Conflicts:
#	configure/os/CONFIG.Common.linuxCommon
2019-10-06 20:05:47 -07:00
Andrew Johnson 6d5f57daf1 Merge 3.16 branch into 7.0 2018-12-12 15:17:02 -06:00
Andrew Johnson daad9b1ba1 Merge updates from 3.15 into 3.16 2018-11-26 15:34:32 -06:00
Michael Davidsaver 4ee3cbf382 LINKER_USE_RPATH=ORIGIN
Use Linux specific linker trick to allow relocation
of built tree.

relative rpath

use $ORIGIN to reference libraries in other modules
by relative path.

fix rel. RPATH
2018-11-20 22:00:42 -08:00
Andrew Johnson 2efe56c6d1 Merge 3.16 (after 3.16.2-rc1) into 7.0 2018-10-26 17:04:53 -05:00
Martin Konrad 46b5d6006e Fix "make --question" mode
Fix for lp:1669891
2018-09-07 18:02:02 -04:00
Andrew Johnson 57c0d26c4d Drop R3.13 VxWorks-only OBJLIBS build targets and rules 2018-07-14 17:34:11 -05:00
Bruce Hill b84ee89d87 Fix ECHO definition to not match variables in MAKEFLAGS by using MFLAGS instead.
Prior ECHO definition strips T_A=XXX command line variable definitions
from MAKEFLAGS but doesn't strip other variable definitions such as
INSTALL_LOCATION.  As a result, if you "make INSTALL_LOCATION=XXX"
the ECHO definition erroneously matches if your install location
contains 's'.   Changing the ECHO definition to MFLAGS avoids
all command line variable definitions.
2018-04-16 19:11:40 -07:00
Andrew Johnson 813166128e Merged changes from 3.15 branch, to revno 12781 2016-09-07 10:04:54 -05:00
Andrew Johnson f169781de0 Merged remove-keywords-3.15 branch 2016-07-21 14:12:51 -05:00
Andrew Johnson 11e98798bb Fix dependency file generation on Windows & Darwin 2016-05-27 23:15:59 +02:00
Andrew Johnson b9f0ef5158 Merge 3.14 version and add 3.15 edits 2016-05-22 14:38:18 +02:00
Andrew Johnson 89c8c78564 Removed Revision-Id from configure; still one Date 2016-05-21 04:27:03 +02:00
Andrew Johnson 8fea0117ae Clean up build rules, remove CapFast & dbst support 2016-03-02 14:20:53 -06:00
Andrew Johnson 1e68f3899d Merged gen-vcs-version branch 2015-07-10 14:02:01 -05:00
Andrew Johnson 837111296e Updates to build rules and genVersionHeader.pl script
Added -q (quiet) flag, renamed INSTALL_QUIETLY build variable.
Moved GENVERSION variables into normal locations.
Changed from :: rule to : rule with FORCE dependency.
Removed use of --git-dir, only works when CWD is TOP.
Simplified some parts, more perlish.
Added VCS used to generated output file.
Expanded on the -v (verbose) output.
2015-07-10 12:09:37 -05:00
Andrew Johnson 74c6e81752 Fixed HDEPENDS_MKMFFLAGS 2015-03-08 15:26:07 -05:00
Andrew Johnson 0f6cce2bd1 Merged changes from 3.14 branch up to revno 12545 2015-03-02 17:52:15 -06:00
Andrew Johnson 4658a88584 Allow compiler flags from command line
The following variables are reserved for use from the
GNUmake command line:
  CMD_INCLUDES
  CMD_CPPFLAGS
  CMD_CFLAGS
  CMD_CXXFLAGS
  CMD_LDFLAGS
  CMD_DBFLAGS
  CMD_DBDFLAGS
  CMD_ARFLAGS

For example:
  make CMD_INCLUDES=/opt/local/include CMD_LDFLAGS=-L/opt/local/lib
2015-02-20 14:48:05 -06:00
Andrew Johnson e886022343 Deprecate and remove all uses of PATH_FILTER 2014-12-10 13:35:15 -06:00
Andrew Johnson f7cc0e2d09 Various build system issues
* Removed broken Windows source browser rules and 'browse' targets
* Fixed parallel build issue for Make > 3.81
* Other tidying-up in RULES_ARCHS
* Fix the RTEMS override of the ECHO variable
2014-11-12 16:36:39 -06:00
Andrew Johnson 64c45961ff configure: Fix missing dependency files
Dependency files were not being created for sources that
were only listed in x_SRCS_class variables, because the
code that added those to the x_SRCS var was running after
we had already loaded the dependency files.
2014-07-29 18:16:53 -05:00
Janet Anderson 2efb1d0373 mkmf.pl needs -I prefix on include directories. 2014-04-14 15:00:37 -05:00
Andrew Johnson 8a28858ada Merged changes from 3.14 branch. 2013-07-10 16:18:18 -05:00
Andrew Johnson 75a5f19d2e IOCS_APPL_TOP must be absolute path
Fix a recently introduced problem where cdCommands and envParams
had TOP as a relative path (which actually worked by chance).
Also fixed a problem with convertRelease hanging when the -t
argument matched the absolute path to TOP.
2013-07-10 14:13:31 -05:00
Andrew Johnson 2be5e15346 Merged changes from 3.14 branch
Up to revno 12420 inclusive.
2013-06-07 18:08:38 -05:00
Andrew Johnson 880db9d4af configure: Set IOCS_APPL_TOP from INSTALL_LOCATION
Fixes lp:1165257
2013-04-09 12:39:26 -05:00
Andrew Johnson af2693241f Merged changes from 3.14 branch
Up to revno 12398, i.e. the R3.14.12.3 release.
2012-12-18 15:44:35 -06:00
Janet Anderson f90f021309 Added SHRLIB_PERMISSIONS 2012-12-05 14:34:18 -06:00
Andrew Johnson b4c7f4542e configure: Deleted RULES_JAVA and associated variables
Also removed some extensions template configuration files for
architectures that we have already removed from Base.
2012-08-03 17:45:28 -05:00