From Fedora Project Wiki
Line 73: Line 73:
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->


The goal of this change is to standardize the usage of make in Fedora.  All make invocations in spec files that don't use the install target will be modified to use the %make_build macro, and all make invocations that use the install target will be updated to use the %make_install macro.  Any additional arguments to make that are not included in either the %make_build and %make_install will be preserved.


The %make_build macro enables parallel make builds using the -j option.  In case a package does not build correctly with parallel make, then the the %_smp_mflags macro will be redefined in the spec file, like this:
  %global _smp_mflags -j1


== Feedback ==
== Feedback ==

Revision as of 18:50, 16 June 2020

Important.png
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.


Use make_build and make_install macros

Summary

This change will update all spec files in Fedora and replaces all uses of make with either the %make_build or %make_install macros.

Owner

Current status

  • Targeted release: Fedora 33
  • Last updated: 2020-06-16
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The goal of this change is to standardize the usage of make in Fedora. All make invocations in spec files that don't use the install target will be modified to use the %make_build macro, and all make invocations that use the install target will be updated to use the %make_install macro. Any additional arguments to make that are not included in either the %make_build and %make_install will be preserved.

The %make_build macro enables parallel make builds using the -j option. In case a package does not build correctly with parallel make, then the the %_smp_mflags macro will be redefined in the spec file, like this:

 %global _smp_mflags -j1

Feedback

Benefit to Fedora

Scope

  • Proposal owners:
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes