~ruther/CTU-FEE-B0B35APO-Semestral-project

14007eeed940c59ed71ceb024f92aebc2e8a200e — František Boháček 4 years ago 8ed9030
refactor: move gui elements to gui library
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)