SIGN IN SIGN UP
2015-03-26 22:08:35 +11:00
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
CXX=g++
2015-03-26 22:08:35 +11:00
ifeq ($(uname_S),Darwin)
# Native build on yosemite. Requires: brew install readline
READLINE=/usr/local/opt/readline
2015-03-26 22:08:35 +11:00
INCPATHS=-I$(READLINE)/include
LIBPATHS=-L$(READLINE)/lib
endif
LD=$(CXX)
AR=ar
DEBUG=-ggdb
CXXFLAGS=-O3 -Wall $(DEBUG) $(INCPATHS) -std=c++11
LDFLAGS=-O3 $(DEBUG) $(LIBPATHS) -L. -lreadline -lhistory
2015-03-27 11:03:28 +11:00
LIBSOURCES=Core.cpp Environment.cpp Reader.cpp ReadLine.cpp String.cpp \
Types.cpp Validation.cpp
2015-03-26 22:08:35 +11:00
LIBOBJS=$(LIBSOURCES:%.cpp=%.o)
MAINS=$(wildcard step*.cpp)
TARGETS=$(MAINS:%.cpp=%)
.PHONY: all clean
.SUFFIXES: .cpp .o
all: $(TARGETS)
2016-02-14 20:57:31 -06:00
dist: mal
mal: stepA_mal
cp $< $@
2015-03-26 22:08:35 +11:00
.deps: *.cpp *.h
$(CXX) $(CXXFLAGS) -MM *.cpp > .deps
$(TARGETS): %: %.o libmal.a
$(LD) $^ -o $@ $(LDFLAGS)
2015-03-26 22:08:35 +11:00
libmal.a: $(LIBOBJS)
$(AR) rcs $@ $^
.cpp.o:
$(CXX) $(CXXFLAGS) -c $< -o $@
clean:
2016-02-14 20:57:31 -06:00
rm -rf *.o $(TARGETS) libmal.a .deps mal
2015-03-26 22:08:35 +11:00
-include .deps