Operating System - HP-UX
1820488 Members
2139 Online
109624 Solutions
New Discussion юеВ

Make: Must be a separator on rules line 8. Stop.

 
ysean_young
New Member

Make: Must be a separator on rules line 8. Stop.

3 PRELIB=$(ORACLE_HOME)/precomp/lib/
4 ORALIB=$(ORACLE_HOME)/lib/
5 #BILLDIR = $(shell if [ `whoami` != "latn" ]; then echo "billcs"; else echo "bill1"; fi)
6 ifeq ($(LOGNAME),latn)
7 BILLDIR=bill1
8 else
9 BILLDIR=billcs
10 endif
11 LIB_PATH=/home/$(BILLDIR)/charge_group/rkm
at line 8 just "else", can anyone help me?
6 REPLIES 6
Peter Nikitka
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

Hi,

I think, the 'make' assumes the start of a build rule script here but does not detect a TAB.

Some things to check:
- you may run a make version which is not compatibel to GNUmake
- there may be an error in the Makefile on lines before
- drop the commented line completely
- check for nonprintable characters
- check content of environment var LOGNAME

mfG Peter
The Universe is a pretty big place, it's bigger than anything anyone has ever dreamed of before. So if it's just us, seems like an awful waste of space, right? Jodie Foster in "Contact"
Sandman!
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

You're missing the keyword "then" for the if statement starting on line 6 i.e.

6 ifeq ($(LOGNAME),latn); then
7 BILLDIR=bill1
8 else
9 BILLDIR=billcs
10 endif
Peter Nikitka
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

Hi Sandman,

in my gmake 3.79 it is an error using 'ifeq' with 'then':

/tmp/mkf:1: Extraneous text after `ifeq' directive

mfG Peter
The Universe is a pretty big place, it's bigger than anything anyone has ever dreamed of before. So if it's just us, seems like an awful waste of space, right? Jodie Foster in "Contact"
Sandman!
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

You're right Peter...didn't read the post well and ended up mistaking ifeq for if.

cheers!
Stephen Keane
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

Try

ifeq ($(LOGNAME),latn)
BILLDIR=bill1
endif

ifneq ($(LOGNAME),latn)
BILLDIR=billcs
endif

I'm not sure if 'else' is supported in an "ifeq" block.
Stephen Keane
Honored Contributor

Re: Make: Must be a separator on rules line 8. Stop.

Sorry, talking rot there, of course 'else' is supported.

Should read

6 ifeq ($(LOGNAME),latn)
7 [tab]BILLDIR=bill1
8 else
9 [tab]BILLDIR=billcs
10 endif

Don't put ANY spaces before BILLDIR=, only tabs.