0

I have a project writed for DEC Unix v4. I want to compile it for linux. My project have Imakefile, I run xmkmf to generate Makefile and after that run make to compile but I get Makefile:1059: *** missing separator. Stop.

When I see this post I installed SparkyLinux and install CDE and libmotif-dev on it for Motif and CDE and again I am going to generate Makefile and run make, but my problem still

line 1059: MComplexProgramTarget(_gdsv_.o,$(LOCAL_LIBRARIES),)

  • instal BSD make (bmake, or pmake, it depends on the target platform) The problem you have is that probably the xmkmf is generating berkeley makefile syntax. SEE MY ANSWER :) – Luis Colorado Sep 03 '18 at 09:53

2 Answers2

1

That line is valid in an Imakefile, but not in a Makefile. It looks like a macro for the C preprocessor. When the preprocessor does not find a definition for a macro, it leaves it as-is.

The next question is therefore: Why is the macro MComplexProgramTarget undefined, and which file defines it usually?

To answer this, you need to know where imake reads its definition files ("strace -f xmkmf" can help you with this), and in which file does this word appear?

Roland Illig
  • 40,703
  • 10
  • 88
  • 121
  • when I run `xmkmf` show `imake -DUseInstalled -I/usr/lib/X11/config` in terminal. in your opinion this config can be wrong? – user3121138 Aug 31 '18 at 14:32
1

The most probable thing is that you have lead to some incompatibility issue with gmake, which should be the make version you are using. Install BSD make and use it to build the system. Probably this will solve your problem (or not, but I have had this kind of problems) Depending on the platform, the package is called bmake or pmake.

Luis Colorado
  • 10,974
  • 1
  • 16
  • 31