fork download
  1. empty:=
  2. space:= $(empty) $(empty)
  3.  
  4. #config here
  5. CFLAGS_RELEASE=-O3 -ggdb3
  6. CFLAGS_DEBUG=-O0 -ggdb3 -Wall
  7. CFLAGS_X86=-m32
  8. CFLAGS_X64=-m64
  9. CFLAGS_COMBINED_RELEASE_X86=$(CFLAGS_RELEASE) $(CFLAGS_X86)
  10. CFLAGS_COMBINED_RELEASE_X64=$(CFLAGS_RELEASE) $(CFLAGS_X64)
  11. CFLAGS_COMBINED_DEBUG_X86=$(CFLAGS_DEBUG) $(CFLAGS_X86)
  12. CFLAGS_COMBINED_DEBUG_X64=$(CFLAGS_DEBUG) $(CFLAGS_X64)
  13. SUFFIX_RELEASE_X86=_REL_x86
  14. SUFFIX_RELEASE_X64=_REL_x64
  15. SUFFIX_DEBUG_X86=_DBG_x86
  16. SUFFIX_DEBUG_X64=_DBG_x64
  17.  
  18. SUFFIX_SELECTED=
  19. CFLAGS_SELECTED=
  20. #endconfig
  21.  
  22. CFLAGS_STATIC_LIBRARY=-c
  23. CFLAGS_INCLUDE_DIRS=-I.
  24. CFLAGS_COMMON=-std=gnu++14 $(CFLAGS_INCLUDE_DIRS)
  25. CFLAGS_COMMON+=$(CFLAGS_SELECTED)
  26.  
  27. GOOGLE_TEST_INCLUDE_DIRS=-I./libraries/googletest -I./libraries/googletest/include
  28. GOOGLE_TEST_SOURCES=./libraries/__linux__/google_test.cc
  29. GOOGLE_TEST_LIBRARY=./libraries/__linux__/obj/google_test$(SUFFIX_SELECTED).o
  30.  
  31. GOOGLE_MOCK_INCLUDE_DIRS=-I./libraries/googlemock -I./libraries/googlemock/include $(GOOGLE_TEST_INCLUDE_DIRS)
  32. GOOGLE_MOCK_SOURCES=./libraries/__linux__/google_mock.cc
  33. GOOGLE_MOCK_LIBRARY=./libraries/__linux__/obj/google_mock$(SUFFIX_SELECTED).o
  34.  
  35. GLM_INCLUDE_DIRS=-I./libraries/glm
  36. GLM_SOURCES=./libraries/__linux__/glm.cpp
  37. GLM_LIBRARY=./libraries/__linux__/glm$(SUFFIX_SELECTED).o
  38.  
  39. SQLITE_INCLUDE_DIRS=-I./libraries/sqlite-amalgamation
  40. SQLITE_SOURCES=./libraries/__linux__/sqlite.c
  41. SQLITE_LIBRARY=./libraries/__linux__/obj/sqlite$(SUFFIX_SELECTED).o
  42.  
  43. LIBODB_INCLUDE_DIRS=-I./libraries/libodb -I./libraries/__linux__
  44. LIBODB_SOURCES=./libraries/__linux__/libodb.cxx
  45. LIBODB_LIBRARY=./libraries/__linux__/obj/libodb$(SUFFIX_SELECTED).o
  46. LIBODB_DEFINES=-DLIBODB_STATIC_LIB
  47.  
  48. LIBODB_SQLITE_INCLUDE_DIRS=-I./libraries/libodb -I./libraries/__linux__ -I./libraries/libodb-sqlite/
  49. LIBODB_SQLITE_SOURCES=./libraries/__linux__/libodb-sqlite.cxx
  50. LIBODB_SQLITE_LIBRARY=./libraries/__linux__/obj/libodb-sqlite$(SUFFIX_SELECTED).o
  51. LIBODB_SQLITE_DEFINES=-DLIBODB_STATIC_LIB -DLIBODB_SQLITE_STATIC_LIB
  52.  
  53. LIBPROJECT_INCLUDE_DIRS=$(GLM_INCLUDE_DIRS) $(SQLITE_INCLUDE_DIRS) $(LIBODB_INCLUDE_DIRS) $(LIBODB_SQLITE_INCLUDE_DIRS) -I./project -I./project/lib
  54. LIBPROJECT_SOURCES = $(shell find ./project/lib/ -name '*.c*')
  55. LIBPROJECT_BASE_DIR =./libraries/__linux__/
  56. LIBPROJECT_OBJ_DIR=$(LIBPROJECT_BASE_DIR)obj/libproject/
  57. LIBPROJECT_OBJECTS = $(addprefix $(LIBPROJECT_OBJ_DIR),$(LIBPROJECT_SOURCES))
  58. LIBPROJECT_LIBRARY=$(LIBPROJECT_BASE_DIR)libproject$(SUFFIX_SELECTED).a
  59. LIBPROJECT_DEFINES=-DLIBODB_STATIC_LIB -DLIBODB_SQLITE_STATIC_LIB -DLIBODB_MYSQL_STATIC_LIB
  60. LIBPROJECT_LIBRARIES=$(GLM_LIBRARY) $(SQLITE_LIBRARY) $(LIBODB_LIBRARY) $(LIBODB_SQLITE_LIBRARY)
  61.  
  62. GXX=g++
  63. GCC=gcc
  64. CXX=$(GXX)
  65. ARCHIVE=ar rvs
  66.  
  67. all: test
  68.  
  69. GoogleTest: $(GOOGLE_TEST_SOURCES)
  70. @$(GXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(GOOGLE_TEST_INCLUDE_DIRS) $(GOOGLE_TEST_SOURCES) -o $(GOOGLE_TEST_LIBRARY)
  71.  
  72. GoogleMock: $(GOOGLE_MOCK_SOURCES)
  73. @$(GXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(GOOGLE_MOCK_INCLUDE_DIRS) $(GOOGLE_MOCK_SOURCES) -o $(GOOGLE_MOCK_LIBRARY)
  74.  
  75. GLM: $(GLM_SOURCES)
  76. @$(GXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(GLM_INCLUDE_DIRS) $(GLM_SOURCES) -o $(GLM_LIBRARY)
  77.  
  78. SQLite: $(SQLITE_SOURCES)
  79. @$(GCC) $(CFLAGS_STATIC_LIBRARY) $(SQLITE_INCLUDE_DIRS) $(SQLITE_SOURCES) -o $(SQLITE_LIBRARY)
  80.  
  81. LibODB: $(LIBODB_SOURCES)
  82. @$(GXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(LIBODB_DEFINES) $(LIBODB_INCLUDE_DIRS) $(LIBODB_SOURCES) -o $(LIBODB_LIBRARY)
  83.  
  84. LibODBSQLite: $(LIBODB_SQLITE_SOURCES)
  85. @$(GXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(LIBODB_SQLITE_DEFINES) $(LIBODB_SQLITE_INCLUDE_DIRS) $(SQLITE_INCLUDE_DIRS) $(LIBODB_SQLITE_SOURCES) -o $(LIBODB_SQLITE_LIBRARY)
  86.  
  87. LibProject: $(LIBPROJECT_OBJECTS)
  88. $(ARCHIVE) $(LIBPROJECT_LIBRARY) $(addsuffix .o,$(addprefix ./,$^))
  89.  
  90. .DEFAULT:
  91. @mkdir -p ./$(@D)
  92. @$(CXX) $(CFLAGS_COMMON) $(CFLAGS_STATIC_LIBRARY) $(CFLAGS_INCLUDE_DIRS) $(LIBPROJECT_INCLUDE_DIRS) ./$(subst $(LIBPROJECT_OBJ_DIR),$(empty),./$@) -o ./$@.o
  93.  
  94. clean:
  95. @rm -rf ./libraries/__linux__/obj/*
  96.  
  97. d86: SUFFIX_SELECTED=$(SUFFIX_DEBUG_X86)
  98. d86: CFLAGS_SELECTED=$(CFLAGS_COMBINED_DEBUG_X86)
  99. d86: GoogleTest GoogleMock GLM SQLite LibODB LibODBSQLite LibProject
  100.  
  101. d64: SUFFIX_SELECTED=$(SUFFIX_DEBUG_X64)
  102. d64: CFLAGS_SELECTED=$(CFLAGS_COMBINED_DEBUG_X64)
  103. d64: GoogleTest GoogleMock GLM SQLite LibODB LibODBSQLite LibProject
  104.  
  105. r86: SUFFIX_SELECTED=$(SUFFIX_RELEASE_X86)
  106. r86: CFLAGS_SELECTED=$(CFLAGS_COMBINED_RELEASE_X86)
  107. r86: GoogleTest GoogleMock GLM SQLite LibODB LibODBSQLite LibProject
  108.  
  109. r64: SUFFIX_SELECTED=$(SUFFIX_RELEASE_X64)
  110. r64: CFLAGS_SELECTED=$(CFLAGS_COMBINED_RELEASE_X64)
  111. r64: GoogleTest GoogleMock GLM SQLite LibODB LibODBSQLite LibProject
  112.  
  113. test: SUFFIX_SELECTED=$(SUFFIX_DEBUG_X86)
  114. test: CFLAGS_SELECTED=$(CFLAGS_COMBINED_DEBUG_X86)
  115. test: LibProject
Runtime error #stdin #stdout #stderr 0.03s 5048KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
./prog.sh: line 1: empty:=: command not found
./prog.sh: line 2: empty: command not found
./prog.sh: line 2: empty: command not found
./prog.sh: line 2: space:=: command not found
./prog.sh: line 5: -ggdb3: command not found
./prog.sh: line 6: -ggdb3: command not found
./prog.sh: line 9: CFLAGS_X86: command not found
./prog.sh: line 9: CFLAGS_RELEASE: command not found
./prog.sh: line 10: CFLAGS_X64: command not found
./prog.sh: line 10: CFLAGS_RELEASE: command not found
./prog.sh: line 11: CFLAGS_X86: command not found
./prog.sh: line 11: CFLAGS_DEBUG: command not found
./prog.sh: line 12: CFLAGS_X64: command not found
./prog.sh: line 12: CFLAGS_DEBUG: command not found
./prog.sh: line 24: CFLAGS_INCLUDE_DIRS: command not found
./prog.sh: line 25: CFLAGS_SELECTED: command not found
./prog.sh: line 27: -I./libraries/googletest/include: No such file or directory
./prog.sh: line 29: SUFFIX_SELECTED: command not found
./prog.sh: line 31: GOOGLE_TEST_INCLUDE_DIRS: command not found
./prog.sh: line 31: -I./libraries/googlemock/include: No such file or directory
./prog.sh: line 33: SUFFIX_SELECTED: command not found
./prog.sh: line 37: SUFFIX_SELECTED: command not found
./prog.sh: line 41: SUFFIX_SELECTED: command not found
./prog.sh: line 43: -I./libraries/__linux__: No such file or directory
./prog.sh: line 45: SUFFIX_SELECTED: command not found
./prog.sh: line 48: -I./libraries/__linux__: No such file or directory
./prog.sh: line 50: SUFFIX_SELECTED: command not found
./prog.sh: line 51: -DLIBODB_SQLITE_STATIC_LIB: command not found
./prog.sh: line 53: SQLITE_INCLUDE_DIRS: command not found
./prog.sh: line 53: LIBODB_INCLUDE_DIRS: command not found
./prog.sh: line 53: LIBODB_SQLITE_INCLUDE_DIRS: command not found
./prog.sh: line 53: GLM_INCLUDE_DIRS: command not found
./prog.sh: line 53: -I./project: No such file or directory
./prog.sh: line 54: shell: command not found
./prog.sh: line 54: LIBPROJECT_SOURCES: command not found
./prog.sh: line 55: LIBPROJECT_BASE_DIR: command not found
./prog.sh: line 56: LIBPROJECT_BASE_DIR: command not found
./prog.sh: line 57: LIBPROJECT_OBJ_DIR: command not found
./prog.sh: line 57: LIBPROJECT_SOURCES: command not found
./prog.sh: line 57: addprefix: command not found
./prog.sh: line 57: LIBPROJECT_OBJECTS: command not found
./prog.sh: line 58: LIBPROJECT_BASE_DIR: command not found
./prog.sh: line 58: SUFFIX_SELECTED: command not found
./prog.sh: line 59: -DLIBODB_SQLITE_STATIC_LIB: command not found
./prog.sh: line 60: SQLITE_LIBRARY: command not found
./prog.sh: line 60: LIBODB_LIBRARY: command not found
./prog.sh: line 60: LIBODB_SQLITE_LIBRARY: command not found
./prog.sh: line 60: GLM_LIBRARY: command not found
./prog.sh: line 64: GXX: command not found
./prog.sh: line 65: rvs: command not found
./prog.sh: line 67: all:: command not found
./prog.sh: line 69: GOOGLE_TEST_SOURCES: command not found
./prog.sh: line 69: GoogleTest:: command not found
./prog.sh: line 70: GXX: command not found
./prog.sh: line 70: CFLAGS_COMMON: command not found
./prog.sh: line 70: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 70: GOOGLE_TEST_INCLUDE_DIRS: command not found
./prog.sh: line 70: GOOGLE_TEST_SOURCES: command not found
./prog.sh: line 70: GOOGLE_TEST_LIBRARY: command not found
./prog.sh: line 70: @: command not found
./prog.sh: line 72: GOOGLE_MOCK_SOURCES: command not found
./prog.sh: line 72: GoogleMock:: command not found
./prog.sh: line 73: GXX: command not found
./prog.sh: line 73: CFLAGS_COMMON: command not found
./prog.sh: line 73: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 73: GOOGLE_MOCK_INCLUDE_DIRS: command not found
./prog.sh: line 73: GOOGLE_MOCK_SOURCES: command not found
./prog.sh: line 73: GOOGLE_MOCK_LIBRARY: command not found
./prog.sh: line 73: @: command not found
./prog.sh: line 75: GLM_SOURCES: command not found
./prog.sh: line 75: GLM:: command not found
./prog.sh: line 76: GXX: command not found
./prog.sh: line 76: CFLAGS_COMMON: command not found
./prog.sh: line 76: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 76: GLM_INCLUDE_DIRS: command not found
./prog.sh: line 76: GLM_SOURCES: command not found
./prog.sh: line 76: GLM_LIBRARY: command not found
./prog.sh: line 76: @: command not found
./prog.sh: line 78: SQLITE_SOURCES: command not found
./prog.sh: line 78: SQLite:: command not found
./prog.sh: line 79: GCC: command not found
./prog.sh: line 79: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 79: SQLITE_INCLUDE_DIRS: command not found
./prog.sh: line 79: SQLITE_SOURCES: command not found
./prog.sh: line 79: SQLITE_LIBRARY: command not found
./prog.sh: line 79: @: command not found
./prog.sh: line 81: LIBODB_SOURCES: command not found
./prog.sh: line 81: LibODB:: command not found
./prog.sh: line 82: GXX: command not found
./prog.sh: line 82: CFLAGS_COMMON: command not found
./prog.sh: line 82: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 82: LIBODB_DEFINES: command not found
./prog.sh: line 82: LIBODB_INCLUDE_DIRS: command not found
./prog.sh: line 82: LIBODB_SOURCES: command not found
./prog.sh: line 82: LIBODB_LIBRARY: command not found
./prog.sh: line 82: @: command not found
./prog.sh: line 84: LIBODB_SQLITE_SOURCES: command not found
./prog.sh: line 84: LibODBSQLite:: command not found
./prog.sh: line 85: GXX: command not found
./prog.sh: line 85: CFLAGS_COMMON: command not found
./prog.sh: line 85: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 85: LIBODB_SQLITE_DEFINES: command not found
./prog.sh: line 85: LIBODB_SQLITE_INCLUDE_DIRS: command not found
./prog.sh: line 85: SQLITE_INCLUDE_DIRS: command not found
./prog.sh: line 85: LIBODB_SQLITE_SOURCES: command not found
./prog.sh: line 85: LIBODB_SQLITE_LIBRARY: command not found
./prog.sh: line 85: @: command not found
./prog.sh: line 87: LIBPROJECT_OBJECTS: command not found
./prog.sh: line 87: LibProject:: command not found
./prog.sh: line 88: ARCHIVE: command not found
./prog.sh: line 88: LIBPROJECT_LIBRARY: command not found
./prog.sh: line 88: addprefix: command not found
./prog.sh: line 88: addsuffix: command not found
./prog.sh: line 90: .DEFAULT:: command not found
./prog.sh: line 91: @D: command not found
./prog.sh: line 91: @mkdir: command not found
./prog.sh: line 92: CXX: command not found
./prog.sh: line 92: CFLAGS_COMMON: command not found
./prog.sh: line 92: CFLAGS_STATIC_LIBRARY: command not found
./prog.sh: line 92: CFLAGS_INCLUDE_DIRS: command not found
./prog.sh: line 92: LIBPROJECT_INCLUDE_DIRS: command not found
./prog.sh: line 92: LIBPROJECT_OBJ_DIR: command not found
./prog.sh: line 92: empty: command not found
./prog.sh: line 92: subst: command not found
./prog.sh: line 92: @: command not found
./prog.sh: line 94: clean:: command not found
./prog.sh: line 95: @rm: command not found
./prog.sh: line 97: SUFFIX_DEBUG_X86: command not found
./prog.sh: line 97: d86:: command not found
./prog.sh: line 98: CFLAGS_COMBINED_DEBUG_X86: command not found
./prog.sh: line 98: d86:: command not found
./prog.sh: line 99: d86:: command not found
./prog.sh: line 101: SUFFIX_DEBUG_X64: command not found
./prog.sh: line 101: d64:: command not found
./prog.sh: line 102: CFLAGS_COMBINED_DEBUG_X64: command not found
./prog.sh: line 102: d64:: command not found
./prog.sh: line 103: d64:: command not found
./prog.sh: line 105: SUFFIX_RELEASE_X86: command not found
./prog.sh: line 105: r86:: command not found
./prog.sh: line 106: CFLAGS_COMBINED_RELEASE_X86: command not found
./prog.sh: line 106: r86:: command not found
./prog.sh: line 107: r86:: command not found
./prog.sh: line 109: SUFFIX_RELEASE_X64: command not found
./prog.sh: line 109: r64:: command not found
./prog.sh: line 110: CFLAGS_COMBINED_RELEASE_X64: command not found
./prog.sh: line 110: r64:: command not found
./prog.sh: line 111: r64:: command not found
./prog.sh: line 113: SUFFIX_DEBUG_X86: command not found
./prog.sh: line 113: test:: command not found
./prog.sh: line 114: CFLAGS_COMBINED_DEBUG_X86: command not found
./prog.sh: line 114: test:: command not found
./prog.sh: line 115: test:: command not found