| 1 | 3 | sergeykhbr | ###
 | 
      
         | 2 |  |  | ## @file
 | 
      
         | 3 |  |  | ## @copyright  Copyright 2016 GNSS Sensor Ltd. All right reserved.
 | 
      
         | 4 |  |  | ## @author     Sergey Khabarov - sergeykhbr@gmail.com
 | 
      
         | 5 |  |  | ##
 | 
      
         | 6 |  |  |  
 | 
      
         | 7 |  |  | include util.mak
 | 
      
         | 8 |  |  |  
 | 
      
         | 9 |  |  | ifeq ($(QT_PATH), )
 | 
      
         | 10 |  |  |    $(error QT_PATH variable must be defined)
 | 
      
         | 11 |  |  | endif
 | 
      
         | 12 |  |  |  
 | 
      
         | 13 |  |  | CC=gcc
 | 
      
         | 14 |  |  | CPP=gcc
 | 
      
         | 15 |  |  | CFLAGS=-g -c -Wall -Werror -fPIC -pthread
 | 
      
         | 16 |  |  | LDFLAGS=-shared -pthread -L$(PLUGINS_ELF_DIR)/.. -L$(QT_PATH)/lib
 | 
      
         | 17 |  |  | INCL_KEY=-I
 | 
      
         | 18 |  |  | DIR_KEY=-B
 | 
      
         | 19 |  |  |  
 | 
      
         | 20 |  |  | GUI_PLUGIN_SRC=$(TOP_DIR)src/gui_plugin
 | 
      
         | 21 |  |  |  
 | 
      
         | 22 |  |  | # include sub-folders list
 | 
      
         | 23 |  |  | INCL_PATH= \
 | 
      
         | 24 |  |  |         $(QT_PATH)/include \
 | 
      
         | 25 |  |  |         $(TOP_DIR)src/common \
 | 
      
         | 26 |  |  |         $(GUI_PLUGIN_SRC)
 | 
      
         | 27 |  |  |  
 | 
      
         | 28 |  |  | # source files directories list:
 | 
      
         | 29 |  |  | SRC_PATH =\
 | 
      
         | 30 |  |  |         $(TOP_DIR)src/common \
 | 
      
         | 31 |  |  |         $(TOP_DIR)src/gui_plugin \
 | 
      
         | 32 |  |  |         $(TOP_DIR)src/gui_plugin/MainWindow \
 | 
      
         | 33 |  |  |         $(TOP_DIR)src/gui_plugin/ControlWidget \
 | 
      
         | 34 |  |  |         $(TOP_DIR)src/gui_plugin/CpuWidgets \
 | 
      
         | 35 |  |  |         $(TOP_DIR)src/gui_plugin/GnssWidgets \
 | 
      
         | 36 |  |  |         $(TOP_DIR)src/gui_plugin/PeriphWidgets
 | 
      
         | 37 |  |  |  
 | 
      
         | 38 |  |  | VPATH = $(SRC_PATH)
 | 
      
         | 39 |  |  |  
 | 
      
         | 40 |  |  | SOURCES = \
 | 
      
         | 41 |  |  |         attribute \
 | 
      
         | 42 |  |  |         autobuffer \
 | 
      
         | 43 |  |  |         gui_plugin \
 | 
      
         | 44 |  |  |         qt_wrapper \
 | 
      
         | 45 |  |  |         ebreakhandler \
 | 
      
         | 46 |  |  |         DbgMainWindow \
 | 
      
         | 47 |  |  |         MdiAreaWidget \
 | 
      
         | 48 |  |  |         GpioWidget \
 | 
      
         | 49 |  |  |         LedArea \
 | 
      
         | 50 |  |  |         DipArea \
 | 
      
         | 51 |  |  |         UartEditor \
 | 
      
         | 52 |  |  |         UartWidget \
 | 
      
         | 53 |  |  |         RegsViewWidget \
 | 
      
         | 54 |  |  |         RegWidget \
 | 
      
         | 55 |  |  |         AsmViewWidget \
 | 
      
         | 56 |  |  |         AsmArea \
 | 
      
         | 57 |  |  |         AsmControl \
 | 
      
         | 58 |  |  |         SymbolBrowserWidget \
 | 
      
         | 59 |  |  |         SymbolBrowserArea \
 | 
      
         | 60 |  |  |         SymbolBrowserControl \
 | 
      
         | 61 |  |  |         StackTraceWidget \
 | 
      
         | 62 |  |  |         StackTraceArea \
 | 
      
         | 63 |  |  |         MemViewWidget \
 | 
      
         | 64 |  |  |         MemArea \
 | 
      
         | 65 |  |  |         MemControl \
 | 
      
         | 66 |  |  |         ConsoleWidget \
 | 
      
         | 67 |  |  |         StreetMapObject \
 | 
      
         | 68 |  |  |         MapWidget \
 | 
      
         | 69 |  |  |         PnpWidget
 | 
      
         | 70 |  |  |  
 | 
      
         | 71 |  |  | LIBS = \
 | 
      
         | 72 |  |  |         m \
 | 
      
         | 73 |  |  |         stdc++ \
 | 
      
         | 74 |  |  |         dbg64g \
 | 
      
         | 75 |  |  |         Qt5Core \
 | 
      
         | 76 |  |  |         Qt5Gui \
 | 
      
         | 77 |  |  |         Qt5Network \
 | 
      
         | 78 |  |  |         Qt5Widgets
 | 
      
         | 79 |  |  |  
 | 
      
         | 80 |  |  | SRC_FILES = $(addsuffix .cpp,$(SOURCES))
 | 
      
         | 81 |  |  | OBJ_FILES = $(addprefix $(PLUGINS_OBJ_DIR)/,$(addsuffix .o,$(SOURCES)))
 | 
      
         | 82 |  |  | EXECUTABLE = $(addprefix $(PLUGINS_ELF_DIR)/,gui_plugin.so)
 | 
      
         | 83 |  |  |  
 | 
      
         | 84 |  |  | all: $(EXECUTABLE) deploy
 | 
      
         | 85 |  |  |  
 | 
      
         | 86 |  |  | deploy:
 | 
      
         | 87 |  |  |         $(MKDIR) $(ELF_DIR)/qtlib
 | 
      
         | 88 |  |  |         $(MKDIR) $(ELF_DIR)/qtlib/platforms
 | 
      
         | 89 |  |  |         cp $(QT_PATH)/plugins/platforms/libqlinuxfb.so $(ELF_DIR)/qtlib/platforms/
 | 
      
         | 90 |  |  |         cp $(QT_PATH)/plugins/platforms/libqminimal.so $(ELF_DIR)/qtlib/platforms/
 | 
      
         | 91 |  |  |         cp $(QT_PATH)/lib/libicudata.* $(ELF_DIR)/qtlib
 | 
      
         | 92 |  |  |         cp $(QT_PATH)/lib/libicui18n.* $(ELF_DIR)/qtlib
 | 
      
         | 93 |  |  |         cp $(QT_PATH)/lib/libicuuc.* $(ELF_DIR)/qtlib
 | 
      
         | 94 |  |  |         cp $(QT_PATH)/lib/libQt5Core.* $(ELF_DIR)/qtlib
 | 
      
         | 95 |  |  |         cp $(QT_PATH)/lib/libQt5Gui.* $(ELF_DIR)/qtlib
 | 
      
         | 96 |  |  |         cp $(QT_PATH)/lib/libQt5Widgets.* $(ELF_DIR)/qtlib
 | 
      
         | 97 |  |  |         cp $(QT_PATH)/lib/libQt5Network.* $(ELF_DIR)/qtlib
 | 
      
         | 98 |  |  |  
 | 
      
         | 99 |  |  | $(EXECUTABLE): prebuild $(OBJ_FILES)
 | 
      
         | 100 |  |  |         echo $(CPP) $(LDFLAGS) $(OBJ_FILES) -o $@
 | 
      
         | 101 |  |  |         $(CPP) $(LDFLAGS) $(OBJ_FILES) -o $@ $(addprefix -l,$(LIBS))
 | 
      
         | 102 |  |  |         $(ECHO) "\n  Plugin '"$@"' has been built successfully.\n"
 | 
      
         | 103 |  |  |  
 | 
      
         | 104 |  |  | $(addprefix $(PLUGINS_OBJ_DIR)/,%.o): %.cpp
 | 
      
         | 105 |  |  |         echo $(CPP) $(CFLAGS) -std=c++0x $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
 | 
      
         | 106 |  |  |         $(CPP) $(CFLAGS) -std=c++0x $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
 | 
      
         | 107 |  |  |  
 | 
      
         | 108 |  |  | $(addprefix $(PLUGINS_OBJ_DIR)/,%.o): %.c
 | 
      
         | 109 |  |  |         echo $(CC) $(CFLAGS) -std=c99 $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
 | 
      
         | 110 |  |  |         $(CC) $(CFLAGS) -std=c99 $(addprefix $(INCL_KEY),$(INCL_PATH)) $< -o $@
 | 
      
         | 111 |  |  |  
 | 
      
         | 112 |  |  | prebuild:
 | 
      
         | 113 |  |  |         $(MKDIR) $(ELF_DIR)/resources
 | 
      
         | 114 |  |  |         $(QT_PATH)/bin/rcc -binary $(GUI_PLUGIN_SRC)/resources/gui.qrc -o $(ELF_DIR)/resources/gui.rcc
 | 
      
         | 115 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/qt_wrapper.h -o $(GUI_PLUGIN_SRC)/moc_qt_wrapper.h
 | 
      
         | 116 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/MainWindow/DbgMainWindow.h -o $(GUI_PLUGIN_SRC)/MainWindow/moc_DbgMainWindow.h
 | 
      
         | 117 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/MainWindow/MdiAreaWidget.h -o $(GUI_PLUGIN_SRC)/MainWindow/moc_MdiAreaWidget.h
 | 
      
         | 118 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/ControlWidget/ConsoleWidget.h -o $(GUI_PLUGIN_SRC)/ControlWidget/moc_ConsoleWidget.h
 | 
      
         | 119 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/ControlWidget/PnpWidget.h -o $(GUI_PLUGIN_SRC)/ControlWidget/moc_PnpWidget.h
 | 
      
         | 120 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/PeriphWidgets/UartWidget.h -o $(GUI_PLUGIN_SRC)/PeriphWidgets/moc_UartWidget.h
 | 
      
         | 121 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/PeriphWidgets/UartEditor.h -o $(GUI_PLUGIN_SRC)/PeriphWidgets/moc_UartEditor.h
 | 
      
         | 122 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/PeriphWidgets/GpioWidget.h -o $(GUI_PLUGIN_SRC)/PeriphWidgets/moc_GpioWidget.h
 | 
      
         | 123 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/PeriphWidgets/LedArea.h -o $(GUI_PLUGIN_SRC)/PeriphWidgets/moc_LedArea.h
 | 
      
         | 124 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/PeriphWidgets/DipArea.h -o $(GUI_PLUGIN_SRC)/PeriphWidgets/moc_DipArea.h
 | 
      
         | 125 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/AsmViewWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_AsmViewWidget.h
 | 
      
         | 126 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/AsmArea.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_AsmArea.h
 | 
      
         | 127 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/AsmControl.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_AsmControl.h
 | 
      
         | 128 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/MemViewWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_MemViewWidget.h
 | 
      
         | 129 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/MemArea.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_MemArea.h
 | 
      
         | 130 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/MemControl.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_MemControl.h
 | 
      
         | 131 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/RegWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_RegWidget.h
 | 
      
         | 132 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/RegsViewWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_RegsViewWidget.h
 | 
      
         | 133 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/SymbolBrowserWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_SymbolBrowserWidget.h
 | 
      
         | 134 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/SymbolBrowserArea.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_SymbolBrowserArea.h
 | 
      
         | 135 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/SymbolBrowserControl.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_SymbolBrowserControl.h
 | 
      
         | 136 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/StackTraceWidget.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_StackTraceWidget.h
 | 
      
         | 137 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/CpuWidgets/StackTraceArea.h -o $(GUI_PLUGIN_SRC)/CpuWidgets/moc_StackTraceArea.h
 | 
      
         | 138 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/GnssWidgets/StreetMapObject.h -o $(GUI_PLUGIN_SRC)/GnssWidgets/moc_StreetMapObject.h
 | 
      
         | 139 |  |  |         $(QT_PATH)/bin/moc -i $(GUI_PLUGIN_SRC)/GnssWidgets/MapWidget.h -o $(GUI_PLUGIN_SRC)/GnssWidgets/moc_MapWidget.h
 |