[gccsdk] Makefile syntax

Gavin Wraith gavin at wra1th.plus.com
Wed Oct 7 10:20:01 PDT 2015

I am trying to compile LuaJIT 2.0.4 with GCC 4.7.4 on
RISC OS. I get

> Makefile:235: *** Unsupported target architecture.  Stop.

The trouble is that my experience with makefiles is meagre.
The makefile provided is huge, and complex (to me). I am not
sure whether the make that comes with GCC 4.7.4 is adequate
for it. The crunch line is
> TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
followed by what is in effect a switch statement. The relevant branch,
apparently not taken is
> ifneq (,$(findstring LJ_TARGET_ARM ,$(TARGET_TESTARCH)))
Should GCCSDK's GCC 4.7.4 cope with this?

I am aware that there are probably flags that I should have set in the
makefile, but I am not sure which or how.

A possibility is to make a simpler stripped-down Makefile targetted
at the Raspberry Pi2, which does not try to be all things for all
platforms. The problem is my lack of expertise.

The original LuaJIT (2005) was only for x86 processors. Then came Power-PCs,
and after that a bounty appeared for ARM to be catered for. At about
the same time (2009) LuaJIT 2 appeared, a complete rewrite, abandoning
the standard Lua VM for its own. Development of LuaJIT 1 stopped in 2012,
and it never catered for ARM. I think the intended ARM platforms
are for Android. It is automatically assumed that cross-compilation
from a Linux platform will be the case. But I do not see why a RISC OS
version should not be possible. It would be a stunning application to
have: high speed, on the OMAP4460 some benchmarks show upto 64-times better
results compared to interpreted Lua, with the ease of programming of
an interpreted language. Another feature, the ffi-module, does what
BBC BASIC's assembler does, which should please ARM assembly-language

Gavin Wraith (gavin at wra1th.plus.com)
Home page: http://www.wra1th.plus.com/

More information about the gcc mailing list