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

# 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)