configure 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # A bloody simple, hand-rolled configure script
  3. echo "Checking for pkg-config..."
  4. if ! command -v pkg-config &> /dev/null; then
  5. echo "Error: pkg-config is not installed. Fucking install it first."
  6. exit 1
  7. fi
  8. echo "Checking for gtkmm-3.0..."
  9. if ! pkg-config --exists gtkmm-3.0; then
  10. echo "Error: gtkmm-3.0 not found. Install libgtkmm-3.0-dev."
  11. exit 1
  12. fi
  13. echo "Checking for libarchive..."
  14. if ! pkg-config --exists libarchive; then
  15. echo "Error: libarchive not found. Install libarchive-dev."
  16. exit 1
  17. fi
  18. # Grab the flags
  19. GTKMM_CFLAGS=$(pkg-config --cflags gtkmm-3.0)
  20. GTKMM_LIBS=$(pkg-config --libs gtkmm-3.0)
  21. ARCHIVE_CFLAGS=$(pkg-config --cflags libarchive)
  22. ARCHIVE_LIBS=$(pkg-config --libs libarchive)
  23. echo "Writing Makefile..."
  24. cat <<EOF > Makefile
  25. # Auto-generated Makefile
  26. CXX = g++
  27. CXXFLAGS = -std=c++17 -Wall $GTKMM_CFLAGS $ARCHIVE_CFLAGS
  28. LDFLAGS = $GTKMM_LIBS $ARCHIVE_LIBS
  29. SOURCES = main.cpp MainWindow.cpp
  30. OBJECTS = \$(SOURCES:.cpp=.o)
  31. EXECUTABLE = gnome-vault
  32. all: \$(EXECUTABLE)
  33. \$(EXECUTABLE): \$(OBJECTS)
  34. \$(CXX) \$(OBJECTS) -o \$@ \$(LDFLAGS)
  35. %.o: %.cpp
  36. \$(CXX) \$(CXXFLAGS) -c \$< -o \$@
  37. clean:
  38. rm -f \$(OBJECTS) \$(EXECUTABLE)
  39. EOF
  40. echo "Fucking done. You can now run 'make'."