Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. CXXFLAGS = -std=c++11 -O2 -I..
  2. CPPHTTPLIB_FLAGS = -DCPPHTTPLIB_THREAD_POOL_COUNT=16
  3. BENCH = bombardier -c 10 -d 5s localhost:8080
  4. MONITOR = ali http://localhost:8080
  5. # cpp-httplib
  6. bench: server
  7. @echo "--------------------\n cpp-httplib latest\n--------------------\n"
  8. @./server & export PID=$$!; $(BENCH); kill $${PID}
  9. @echo ""
  10. monitor: server
  11. @./server & export PID=$$!; $(MONITOR); kill $${PID}
  12. run : server
  13. @./server
  14. server : cpp-httplib/main.cpp ../httplib.h
  15. g++ -o $@ $(CXXFLAGS) $(CPPHTTPLIB_FLAGS) cpp-httplib/main.cpp
  16. # cpp-httplib
  17. bench-base: server-base
  18. @echo "---------------------\n cpp-httplib v0.18.0\n---------------------\n"
  19. @./server-base & export PID=$$!; $(BENCH); kill $${PID}
  20. @echo ""
  21. monitor-base: server-base
  22. @./server-base & export PID=$$!; $(MONITOR); kill $${PID}
  23. run-base : server-base
  24. @./server-base
  25. server-base : cpp-httplib-base/main.cpp cpp-httplib-base/httplib.h
  26. g++ -o $@ $(CXXFLAGS) $(CPPHTTPLIB_FLAGS) cpp-httplib-base/main.cpp
  27. # crow
  28. bench-crow: server-crow
  29. @echo "-------------\n Crow v1.2.0\n-------------\n"
  30. @./server-crow & export PID=$$!; $(BENCH); kill $${PID}
  31. @echo ""
  32. monitor-crow: server-crow
  33. @./server-crow & export PID=$$!; $(MONITOR); kill $${PID}
  34. run-crow : server-crow
  35. @./server-crow
  36. server-crow : crow/main.cpp
  37. g++ -o $@ $(CXXFLAGS) crow/main.cpp
  38. # misc
  39. build: server server-base server-crow
  40. bench-all: bench-crow bench bench-base
  41. issue:
  42. bombardier -c 10 -d 30s localhost:8080
  43. clean:
  44. rm -rf server*