forked from MirrorRepos/RomWBW
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.4 KiB
73 lines
1.4 KiB
# cross compilation scheme taken from Eric Smith's spin2cpp compiler
|
|
# if CROSS is defined, we are building a cross compiler
|
|
# possible targets are: win32, rpi
|
|
|
|
ifeq ($(CC),)
|
|
CC=gcc
|
|
endif
|
|
|
|
ifeq ($(CXX),)
|
|
CXX=g++
|
|
endif
|
|
|
|
ifeq ($(CROSS),win32)
|
|
CC=i686-w64-mingw32-gcc
|
|
CXX=i686-w64-mingw32-g++
|
|
EXT=.exe
|
|
BUILD=./build-win32
|
|
else ifeq ($(CROSS),rpi)
|
|
CC=arm-linux-gnueabihf-gcc
|
|
CXX=arm-linux-gnueabihf-g++
|
|
EXT=
|
|
BUILD=./build-rpi
|
|
else
|
|
EXT=
|
|
BUILD=./build
|
|
endif
|
|
|
|
OS:=$(shell uname)
|
|
|
|
ifeq ($(OS),Darwin)
|
|
CFLAGS+=-Wall -g -Wno-self-assign
|
|
else
|
|
CFLAGS+=-Wall -g $(MSTATIC)
|
|
endif
|
|
CXXFLAGS += $(CFLAGS)
|
|
|
|
LIBNAME=$(BUILD)/libopenspin.a
|
|
SRCDIR=.
|
|
OBJ=$(BUILD)/BlockNestStackRoutines.o \
|
|
$(BUILD)/CompileDatBlocks.o \
|
|
$(BUILD)/CompileExpression.o \
|
|
$(BUILD)/CompileInstruction.o \
|
|
$(BUILD)/CompileUtilities.o \
|
|
$(BUILD)/DistillObjects.o \
|
|
$(BUILD)/Elementizer.o \
|
|
$(BUILD)/ErrorStrings.o \
|
|
$(BUILD)/ExpressionResolver.o \
|
|
$(BUILD)/InstructionBlockCompiler.o \
|
|
$(BUILD)/StringConstantRoutines.o \
|
|
$(BUILD)/SymbolEngine.o \
|
|
$(BUILD)/Utilities.o \
|
|
$(BUILD)/UnusedMethodUtils.o \
|
|
$(BUILD)/PropellerCompiler.o \
|
|
$(BUILD)/CompileSpin.o \
|
|
$(BUILD)/flexbuf.o \
|
|
$(BUILD)/preprocess.o \
|
|
$(BUILD)/textconvert.o \
|
|
$(BUILD)/objectheap.o
|
|
|
|
|
|
all: $(BUILD) $(LIBNAME) Makefile
|
|
|
|
$(LIBNAME): $(OBJ)
|
|
$(AR) rs $@ $^
|
|
|
|
$(BUILD)/%.o: $(SRCDIR)/%.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD):
|
|
mkdir -p $(BUILD)
|
|
|
|
clean:
|
|
rm -rf $(BUILD)
|
|
|