38 lines
1.3 KiB
Makefile
38 lines
1.3 KiB
Makefile
PKG_CONFIG ?= pkg-config
|
|
CAPNP_CXX_FLAGS=$(shell $(PKG_CONFIG) capnp --cflags --libs)
|
|
|
|
ifeq ($(CAPNP_CXX_FLAGS),)
|
|
$(warning "Warning: pkg-config failed to find compilation configuration for capnp.")
|
|
$(warning "Falling back to a guess based on the location of the capnp executable.")
|
|
CAPNP_PREFIX=$(shell dirname $(shell which capnp))/..
|
|
CAPNP_CXX_FLAGS=-I $(CAPNP_PREFIX)/include -L $(CAPNP_PREFIX)/lib -lkj -lcapnp
|
|
endif
|
|
|
|
PREFIX ?= /usr/local
|
|
|
|
CXX ?= g++
|
|
CXX_FLAGS=-std=c++14 $(CAPNP_CXX_FLAGS)
|
|
|
|
CAPNPC_JAVA_SOURCES=compiler/src/main/cpp/capnpc-java.c++
|
|
|
|
.PHONY: all clean
|
|
|
|
all : capnpc-java
|
|
|
|
clean :
|
|
rm -f capnpc-java capnpc-java.exe
|
|
|
|
capnpc-java : $(CAPNPC_JAVA_SOURCES)
|
|
$(CXX) $(CAPNPC_JAVA_SOURCES) $(CXX_FLAGS) $(CFLAGS) $(LDFLAGS) -o capnpc-java
|
|
|
|
install:
|
|
mkdir -p ${PREFIX}/bin
|
|
mkdir -p ${PREFIX}/include/capnp/
|
|
cp capnpc-java ${PREFIX}/bin
|
|
cp compiler/src/main/schema/capnp/java.capnp ${PREFIX}/include/capnp/
|
|
|
|
MINGW_LIBS=~/src/capnproto/c++/build-mingw/.libs/libcapnp.a ~/src/capnproto/c++/build-mingw/.libs/libkj.a
|
|
MINGW_CXX=i686-w64-mingw32-g++
|
|
MINGW_FLAGS=-O2 -DNDEBUG -I/usr/local/include -std=c++14 -static -static-libgcc -static-libstdc++
|
|
capnpc-java.exe : $(CAPNPC_JAVA_SOURCES)
|
|
$(MINGW_CXX) $(MINGW_FLAGS) $(CAPNPC_JAVA_SOURCES) $(MINGW_LIBS) -o capnpc-java.exe
|