37 lines
1.2 KiB
Makefile
37 lines
1.2 KiB
Makefile
# p4api native bridge for Linux
|
|
|
|
# dotnet build /p:Configuration=Debug /p:Platform="x64" ./p4api.net.core/p4api.net.core.csproj
|
|
# dotnet build /p:Configuration=Debug /p:Platform="x64" ./examples/sln-bld-cmd/sln-bld-cmd.csproj
|
|
# make clean p4bridge && cp ./p4bridge.so ../examples/sln-bld-cmd/bin/x64/Debug/netcoreapp3.1/
|
|
|
|
OBJDIR=Build/Obj
|
|
|
|
# don't think we need $(OBJDIR)/ClientManager.o
|
|
P4API_OBJS= $(OBJDIR)/P4BridgeEnviro.o $(OBJDIR)/P4Connection.o $(OBJDIR)/P4BridgeClient.o $(OBJDIR)/P4BridgeServer.o $(OBJDIR)/p4base.o $(OBJDIR)/p4map-api.o $(OBJDIR)/p4bridge-api.o $(OBJDIR)/utils.o $(OBJDIR)/Lock.o $(OBJDIR)/DoublyLinkedList.o
|
|
|
|
TEST_OBJS=$(OBJDIR)/Test.o
|
|
|
|
CXXFLAGS=-fPIC -std=c++14 -O1 -I../p4api/include/p4
|
|
|
|
# LDFLAGS=-Wl,--unresolved-symbols=ignore-in-object-files
|
|
|
|
# fix me, absolute path
|
|
LIBPATH=../p4api/lib
|
|
|
|
LIBS=$(LIBPATH)/libclient.a $(LIBPATH)/librpc.a $(LIBPATH)/libsupp.a $(LIBPATH)/libp4api.a -lssl -lcrypto -lpthread -ldl -lstdc++
|
|
|
|
$(OBJDIR):
|
|
mkdir -p $(OBJDIR)
|
|
|
|
$(OBJDIR)/%.o: %.cpp | $(OBJDIR)
|
|
$(CC) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
# note by default we strip debug info for size
|
|
p4bridge: $(P4API_OBJS)
|
|
$(CC) $(LDFLAGS) -shared -o p4bridge.so $^ $(LIBS)
|
|
|
|
clean:
|
|
rm -rf $(OBJDIR)/
|
|
|
|
all: p4bridge
|