M Makefile => Makefile +9 -3
@@ 1,6 1,6 @@
export ROOT_DIR = $(shell pwd)
export BIN_DIR = $(ROOT_DIR)/bin
-export INHERIT_INCLUDES = -I$(ROOT_DIR)/lib-pheripherals/include
+export INHERIT_INCLUDES = -I$(ROOT_DIR)/lib-pheripherals/include -I$(ROOT_DIR)/lib-gui/include
export LIB_DIR = -L$(ROOT_DIR)/bin
#TARGET_IP ?= 192.168.202.127
@@ 21,7 21,8 @@ SSH_OPTIONS+=-i ~/.ssh/mzapo-root-key
#SSH_OPTIONS=-o 'ProxyJump=ctu_login@postel.felk.cvut.cz'
IMAGE_VIEWER=$(BIN_DIR)/image-viewer
-LIB_PHERIPHERALS=$(BIN_DIR)/lib_pheripherals.so
+LIB_PHERIPHERALS=$(BIN_DIR)/libmzapo-pheripherals.so
+LIB_GUI=$(BIN_DIR)/libmzapo-gui.so
TEXT_VIEWER=$(BIN_DIR)/text-viewer
ifdef COMPUTER
@@ 34,12 35,13 @@ all: $(DEPENDENCIES) image-viewer text-viewer
image-viewer: $(IMAGE_VIEWER)
lib-pheripherals: $(LIB_PHERIPHERALS)
+lib-gui: $(LIB_GUI)
text-viewer: $(TEXT_VIEWER)
$(IMAGE_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
@make -C image-viewer
-$(TEXT_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
+$(TEXT_VIEWER): $(DEPENDENCIES) lib-pheripherals lib-gui FORCE
@make -C text-viewer
$(DEPENDENCIES):
@@ 49,6 51,9 @@ $(DEPENDENCIES):
$(LIB_PHERIPHERALS): $(DEPENDENCIES) FORCE
@make -C lib-pheripherals
+$(LIB_GUI): $(DEPENDENCIES) FORCE
+ @make -C lib-gui
+
copy-executable: all
ssh $(SSH_OPTIONS) -t $(TARGET_USER)@$(TARGET_IP) killall gdbserver 1>/dev/null 2>/dev/null || true
ssh $(SSH_OPTIONS) $(TARGET_USER)@$(TARGET_IP) mkdir -p $(TARGET_DIR)
@@ 65,6 70,7 @@ clean:
@make -C image-viewer clean
@make -C lib-pheripherals clean
@make -C text-viewer clean
+ @make -C lib-gui clean
$(RM) -rf $(BIN_DIR)
$(RM) -rf ./.computer ./.arm
M image-viewer/Makefile => image-viewer/Makefile +2 -2
@@ 16,10 16,10 @@ CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
CXXFLAGS = -g -std=gnu++11 -O1 -Wall
ifdef COMPUTER
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+LDFLAGS = -lrt -lmzapo-pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
else
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+LDFLAGS = -lrt -lmzapo-pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
endif
LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR)
A lib-gui/Makefile => lib-gui/Makefile +52 -0
@@ 0,0 1,52 @@
+SRC_DIR=./src
+OBJ_DIR=./obj
+BIN_DIR?=./bin
+INC_DIR=-I./include $(INHERIT_INCLUDES)
+
+ifdef COMPUTER
+ CC = clang
+else
+ CC = arm-linux-gnueabihf-gcc
+ CXX = arm-linux-gnueabihf-g++
+endif
+
+CPPFLAGS = -I .
+CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
+CXXFLAGS = -g -std=gnu++11 -O1 -Wall
+
+ifdef COMPUTER
+LDFLAGS = -lrt -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
+else
+LDFLAGS = -lrt -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+endif
+
+NAME=mzapo-gui
+BINARY=$(BIN_DIR)/lib$(NAME).so
+
+SRC=$(wildcard $(SRC_DIR)/*.c)
+OBJ=$(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC))
+
+CFLAGS+=$(INC_DIR) -Wall -Werror
+CFLAGS+=$(shell sdl2-config --cflags)
+
+.PHONY: all clean
+
+all: $(BINARY)
+
+$(BINARY): $(OBJ) | $(BIN_DIR)
+ $(CC) -shared $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
+ $(CC) $(CFLAGS) -c -fPIC $< -o $@
+
+$(BIN_DIR) $(OBJ_DIR):
+ echo $(BIN_DIR)
+ mkdir -p $@
+clean:
+ $(RM) -rv $(BIN_DIR) $(OBJ_DIR)
+ $(RM) -rv .cache
+ $(RM) -rv connect.gdb
+ $(RM) -rv depend
+
+-include $(OBJ:.o=.d)
R text-viewer/include/font.h => lib-gui/include/font.h +0 -0
R text-viewer/include/gui.h => lib-gui/include/gui.h +0 -0
R text-viewer/include/gui_component_line.h => lib-gui/include/gui_component_line.h +0 -0
R text-viewer/include/gui_component_text.h => lib-gui/include/gui_component_text.h +0 -0
R text-viewer/include/gui_component_text_view.h => lib-gui/include/gui_component_text_view.h +0 -0
R text-viewer/include/keyboard_const.h => lib-gui/include/keyboard_const.h +0 -0
R text-viewer/include/renderer.h => lib-gui/include/renderer.h +0 -0
R text-viewer/include/rotation_const.h => lib-gui/include/rotation_const.h +0 -0
R text-viewer/src/font.c => lib-gui/src/font.c +0 -0
R text-viewer/src/font_rom8x16.c => lib-gui/src/font_rom8x16.c +0 -0
R text-viewer/src/gui.c => lib-gui/src/gui.c +0 -0
R text-viewer/src/gui_component.c => lib-gui/src/gui_component.c +0 -0
R text-viewer/src/gui_component_line.c => lib-gui/src/gui_component_line.c +0 -0
R text-viewer/src/gui_component_text.c => lib-gui/src/gui_component_text.c +0 -0
R text-viewer/src/gui_component_text_view.c => lib-gui/src/gui_component_text_view.c +0 -0
R text-viewer/src/gui_container.c => lib-gui/src/gui_container.c +0 -0
R text-viewer/src/gui_group_container.c => lib-gui/src/gui_group_container.c +0 -0
R text-viewer/src/gui_one_container.c => lib-gui/src/gui_one_container.c +0 -0
R text-viewer/src/gui_window.c => lib-gui/src/gui_window.c +0 -0
R text-viewer/src/renderer.c => lib-gui/src/renderer.c +0 -0
M lib-pheripherals/Makefile => lib-pheripherals/Makefile +1 -1
@@ 21,7 21,7 @@ else
LDFLAGS = -lrt -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
endif
-NAME=mzapo_pheripherals
+NAME=mzapo-pheripherals
BINARY=$(BIN_DIR)/lib$(NAME).so
SRC=$(wildcard $(SRC_DIR)/*.c)
M text-viewer/Makefile => text-viewer/Makefile +2 -2
@@ 16,10 16,10 @@ CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
CXXFLAGS = -g -std=gnu++11 -O1 -Wall
ifdef COMPUTER
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+LDFLAGS = -lrt -lmzapo-pheripherals -lmzapo-gui -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
else
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+LDFLAGS = -lrt -lmzapo-pheripherals -lmzapo-gui -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
endif
LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR)