'make' behavior in FreeBSD-10 ?

Assaf Gordon agordon at wi.mit.edu
Mon Mar 24 18:36:04 UTC 2014


Hello,

On 03/24/2014 02:06 PM, Lowell Gilbert wrote:
>
>> I'm trying to track down an issue in compiling 'autotools' packages that appears in FreeBSD-10 .
>> (I'm not a frequent FreeBSD user, so it's possible I'm missing something - any help would be appreciated).
>
> Is automake specifically what you're trying to build, or are the other
> questions relevant as well?
>
> This is relevant because it sounds as though you are not trying to use
> the FreeBSD ports (or pkg; they're really the same thing in terms of
> what gets installed) system. That's the usual way such a thing would be
> done, and the exceptions are almost entirely people who would be able to
> answer such questions for themselves.

I'm trying to build a package that uses autotools+automake, and should be built with "./confgure && make".

These issues were detected in an package of mine, and were reproducible with the canonical "GNU-Hello" project
( https://www.gnu.org/software/hello/ ) .

I'd assume that almost any project that uses "automake" would faces these issues.

I am not using "pkg" - under the (wrong?) assumption that a portable package written in C and uses "autotools" should be portable enough to be compiled on many different OSes.

>
>> It is my understanding the FreeBSD-10 switched to a different 'make' (bmake?), which could be the reason for these differences - but I do not know how to fix them.
>
> Gnu Make has never been standard on BSD. Most variations of make
> programs understand slightly different makefile syntax, so they
> generally don't run each other's makefiles.
  
I understand that there are inherent differences.

To rephrase my previous question, to a very narrow technical issue:
Is there a way to make such a "makefile" complete successfully on FreeBSD:
===
all:
	non_existing_command ; true
===

Or will this construct never work on FreeBSD, and must be changed in order to be portable ?
Because as a whole, it is a valid shell command, which should succeed (return exit code 0), according to POSIX (if I understand correctly).


Thank you,
  -gordon



More information about the freebsd-questions mailing list