ifeq ($(uname_S),Darwin)
# Native build on yosemite. Requires: brew install readline
CXX=g++
- READLINE=/usr/local/Cellar/readline/6.3.8
+ READLINE=/usr/local/opt/readline
INCPATHS=-I$(READLINE)/include
LIBPATHS=-L$(READLINE)/lib
else
# Ubuntu 14.10 / docker
- CXX=clang++-3.5
+ CXX=g++-4.9
endif
LD=$(CXX)
CXXFLAGS=-O3 -Wall $(DEBUG) $(INCPATHS) -std=c++11
LDFLAGS=-O3 $(DEBUG) $(LIBPATHS) -L. -lreadline -lhistory
-LIBSOURCES=Environment.cpp Reader.cpp ReadLine.cpp String.cpp \
+LIBSOURCES=Core.cpp Environment.cpp Reader.cpp ReadLine.cpp String.cpp \
Types.cpp Validation.cpp
LIBOBJS=$(LIBSOURCES:%.cpp=%.o)
all: $(TARGETS)
+dist: mal
+
+mal: stepA_mal
+ cp $< $@
+
.deps: *.cpp *.h
$(CXX) $(CXXFLAGS) -MM *.cpp > .deps
$(TARGETS): %: %.o libmal.a
- $(LD) $(LDFLAGS) $^ -o $@
+ $(LD) $^ -o $@ $(LDFLAGS)
libmal.a: $(LIBOBJS)
$(AR) rcs $@ $^
$(CXX) $(CXXFLAGS) -c $< -o $@
clean:
- rm -rf *.o $(TARGETS) libmal.a .deps
+ rm -rf *.o $(TARGETS) libmal.a .deps mal
-include .deps