Bug 1380221

Summary: make doesn't handle "!=" shell assignment
Product: Red Hat Enterprise Linux 7 Reporter: Kenjiro Nakayama <knakayam>
Component: makeAssignee: Patsy Griffin <pfrankli>
Status: CLOSED WONTFIX QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.2CC: law
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-22 18:54:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Kenjiro Nakayama 2016-09-29 00:57:48 UTC
Description of problem:
===

  make doesn't handle "!=" shell assignment

Version-Release number of selected component (if applicable):
===

  GNU Make 3.82 (make-3.82-21.el7.x86_64)


How reproducible:
===

  Steps to Reproduce:
  1. write "!=" expression in Makefile

  ~~~~
  DATE_OUT != date
  test:
	@echo $(DATE_OUT)
  ~~~

  2. Run make

Actual results:
===

  Error with "!=" expression

  ~~~
  # make test
  Makefile:1: *** missing separator.  Stop.
  ~~~

Expected results:
===

  No error, but output command result.

  (e.g)
  ~~~
  $ make test
  Thu Sep 29 09:53:57 JST 2016
  ~~~

Additional info:
===

  - The expression != should work fine. Please refer to https://www.gnu.org/software/make/manual/make.html#Features
  """The != shell assignment operator exists in many BSD of make and is purposefully implemented here to behave identically to those implementations."""

  - Fedora 23 with GNU Make 4.0 works fine