Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

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