39 lines
906 B
Makefile
39 lines
906 B
Makefile
.PHONY: all check clean
|
|
|
|
INCLUDES = -I ../../../scintilla/include -I ../../include -I ../../lexlib
|
|
|
|
BASE_FLAGS += --std=c++17 -shared
|
|
|
|
ifdef windir
|
|
SHAREDEXTENSION = dll
|
|
else
|
|
ifeq ($(shell uname),Darwin)
|
|
SHAREDEXTENSION = dylib
|
|
BASE_FLAGS += -dynamiclib -arch arm64 -arch x86_64
|
|
else
|
|
BASE_FLAGS += -fPIC
|
|
SHAREDEXTENSION = so
|
|
endif
|
|
BASE_FLAGS += -fvisibility=hidden
|
|
endif
|
|
|
|
ifdef windir
|
|
RM = $(if $(wildcard $(dir $(SHELL))rm.exe), $(dir $(SHELL))rm.exe -f, del /q)
|
|
CXX = g++
|
|
endif
|
|
|
|
LIBRARY = SimpleLexer.$(SHAREDEXTENSION)
|
|
LEXLIB = ../../lexlib/*.cxx
|
|
|
|
all: $(LIBRARY)
|
|
|
|
# make check requires CheckLexilla to have already been built
|
|
check: $(LIBRARY)
|
|
../CheckLexilla/CheckLexilla ./$(LIBRARY)
|
|
|
|
clean:
|
|
$(RM) *.o *obj *.lib *.exp $(LIBRARY)
|
|
|
|
$(LIBRARY): *.cxx
|
|
$(CXX) $(INCLUDES) $(BASE_FLAGS) $(CPPFLAGS) $(CXXFLAGS) $^ $(LEXLIB) $(LIBS) $(LDLIBS) -o $@
|