Makefile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. CXXFLAGS = -O2 -I..
  2. CPPHTTPLIB_CXXFLAGS = -std=c++11
  3. CROW_CXXFLAGS = -std=c++17
  4. CPPHTTPLIB_FLAGS = -DCPPHTTPLIB_THREAD_POOL_COUNT=16
  5. BENCH = bombardier -c 10 -d 5s localhost:8080
  6. MONITOR = ali http://localhost:8080
  7. WAIT = while ! nc -z localhost 8080 >/dev/null 2>&1; do sleep 0.05; done
  8. # cpp-httplib
  9. bench: server
  10. @echo "--------------------\n cpp-httplib latest\n--------------------\n"
  11. @./server & export PID=$$!; $(WAIT); $(BENCH); kill $${PID}
  12. @echo ""
  13. monitor: server
  14. @./server & export PID=$$!; $(MONITOR); kill $${PID}
  15. run : server
  16. @./server
  17. server : cpp-httplib/main.cpp ../httplib.h
  18. @g++ -o $@ $(CXXFLAGS) $(CPPHTTPLIB_CXXFLAGS) $(CPPHTTPLIB_FLAGS) cpp-httplib/main.cpp
  19. # crow
  20. bench-crow: server-crow
  21. @echo "-------------\n Crow v1.3.1\n-------------\n"
  22. @./server-crow & export PID=$$!; $(WAIT); $(BENCH); kill $${PID}
  23. @echo ""
  24. monitor-crow: server-crow
  25. @./server-crow & export PID=$$!; $(MONITOR); kill $${PID}
  26. run-crow : server-crow
  27. @./server-crow
  28. server-crow : crow/main.cpp crow/crow_all.h
  29. @g++ -o $@ $(CXXFLAGS) $(CROW_CXXFLAGS) crow/main.cpp
  30. # misc
  31. build: server server-crow
  32. bench-all: bench-crow bench
  33. issue:
  34. bombardier -c 10 -d 30s localhost:8080
  35. clean:
  36. rm -rf server*