diff --git a/Makefile.config.raspberry-pi-2 b/Makefile.config.raspberry-pi-2 index a9a8d28c..e1ba6e22 100644 --- a/Makefile.config.raspberry-pi-2 +++ b/Makefile.config.raspberry-pi-2 @@ -1,8 +1,23 @@ +# Cyclone Scheme +# Copyright (c) 2014, Justin Ethier +# All rights reserved. +# +# Configuration options for the makefile -# install configuration +# Compiler options +CFLAGS ?= -O2 -Wall -march=armv6k -Iinclude -L. +COMP_CFLAGS ?= -O2 -Wall -march=armv6k -I$(PREFIX)/include -L$(PREFIX)/lib +# Use these lines instead for debugging or profiling +#CFLAGS = -g -Wall +#CFLAGS = -g -pg -Wall +CC ?= cc +LIBS = -pthread -lcyclone -lck -lm + +# Commands "baked into" cyclone for invoking the C compiler +CC_PROG ?= "$(CC) ~src-file~ $(COMP_CFLAGS) -c -o ~exec-file~.o" +CC_EXEC ?= "$(CC) ~exec-file~.o ~obj-files~ $(LIBS) $(COMP_CFLAGS) -o ~exec-file~" +CC_LIB ?= "$(CC) ~src-file~ $(COMP_CFLAGS) -c -o ~exec-file~.o" -CFLAGS ?= -g -march=armv6k -CC ?= cc AR ?= ar #CD ?= cd RM ?= rm -f @@ -20,3 +35,49 @@ INCDIR ?= $(PREFIX)/include/cyclone DATADIR ?= $(PREFIX)/share/cyclone DESTDIR ?= + +# Automatically detect platform-specific flags, instead of using autoconf +#CYC_PLATFORM_HAS_MEMSTREAM ?= 1 +CYC_PLATFORM_HAS_MEMSTREAM := $(shell echo "main(){char *buf; int len; open_memstream(&buf, &len);}" | gcc -xc - >/dev/null 2>/dev/null && echo 1 || echo 0) +CYC_PLATFORM_HAS_FMEMOPEN := $(shell echo "main(){char *buf; fmemopen(&buf, 0, \"r\");}" | gcc -xc - >/dev/null 2>/dev/null && echo 1 || echo 0) + +# code from chibi's makefile to detect platform +ifndef PLATFORM +ifeq ($(shell uname),Darwin) +PLATFORM=macosx +else +ifeq ($(shell uname),FreeBSD) +PLATFORM=bsd +else +ifeq ($(shell uname),NetBSD) +PLATFORM=bsd +else +ifeq ($(shell uname),OpenBSD) +PLATFORM=bsd +else +ifeq ($(shell uname),DragonFly) +PLATFORM=bsd +else +ifeq ($(shell uname -o),Msys) +PLATFORM=mingw +SOLIBDIR = $(BINDIR) +DIFFOPTS = -b +else +ifeq ($(shell uname -o),Cygwin) +PLATFORM=cygwin +SOLIBDIR = $(BINDIR) +DIFFOPTS = -b +else +ifeq ($(shell uname -o),GNU/Linux) +PLATFORM=linux +else +PLATFORM=unix +endif +endif +endif +endif +endif +endif +endif +endif +endif