Re: Makefile woes

2005-09-07 Thread Giorgos Keramidas
On 2005-09-07 15:21, Nils Vogels <[EMAIL PROTECTED]> wrote:
> Hi there !
>
> I'm trying to write a Makefile and it's my first time writing a bit more
> complex one .. I seem to be stuck and examples currently are not very
> helpful, so I thought I'd try here:
>
> What I am trying to do is differ the way of building depending if a
> variable has been defined, my current Makefile looks like this:
>
> build_1:
>   @cd /build/dir && make OPTION=set
>
> build_2:
>   @cd /build/dir && make
>
> build:
> .if defined(WANT_OPTION)
> HAS_OPTION?=1
> ${MAKE} build_1
> .else
> HAS_OPTION?=0
> ${MAKE} build_2 <-- error in this line
> .endif

If the indentation shown above is what you are truly using and not what
your mailer thinks is a good way to format it, you are missing vital
whitespace before the build commands of the ``build'' target.

Please note that the above makefile will build the build_1 target by
default, as this is the first target that appears in the Makefile.

I'd probably write this a little differently, moving all the conditional
material out of the target build commands:

#
# Pick the default target, depending on WANT_OPTION.
#
.if defined(WANT_OPTION)
HAVE_OPTION?=   1
BUILD_TARGET=   build_1
.else
HAVE_OPTION?=   0
BUILD_TARGET=   build_2
.endif

build: $(BUILD_TARGET)

build_1:
@cd /build/dir && make OPTION=set

build_2:
@cd /build/dir && make

> Whenever I run "make build" I get:
>
> "Makefile", line xx: Need an operator
> make: fatal errors encountered -- cannot continue

This is usually an indication of whitespace/indentation errors.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Makefile woes

2005-09-07 Thread Nils Vogels
Hi there !

I'm trying to write a Makefile and it's my first time writing a bit more
complex one .. I seem to be stuck and examples currently are not very
helpful, so I thought I'd try here:

What I am trying to do is differ the way of building depending if a
variable has been defined, my current Makefile looks like this:

build_1:
  @cd /build/dir && make OPTION=set

build_2:
  @cd /build/dir && make

build:
.if defined(WANT_OPTION)
HAS_OPTION?=1
${MAKE} build_1
.else
HAS_OPTION?=0
${MAKE} build_2 <-- error in this line
.endif

Whenever I run "make build" I get:

"Makefile", line xx: Need an operator
make: fatal errors encountered -- cannot continue

The error seems to occur in the indicated line ${MAKE} build_2, but I am
at a complete loss what I am doing wrong.. Help! :)

I am running RELENG_5_4 and the make that comes with it ..

Grts,

Nils

-- 
Simple guidelines to happiness:
Work like you don't need the money,
love like your heart has never been broken and 
dance like no one can see you.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"