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

edbe2ec3dc0e23c05c096eada8cb121de4495791 — František Boháček 3 years ago 59b2217
feat: add file browser base
3 files changed, 83 insertions(+), 4 deletions(-)

M Makefile
A file-browser/.gitignore
A file-browser/Makefile
M Makefile => Makefile +10 -4
@@ 14,8 14,8 @@ endif
TARGET_DIR ?= /tmp/$(shell whoami)
TARGET_USER ?= root
# for use from Eduroam network use TARGET_IP=localhost and enable next line
#SSH_OPTIONS=-o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "Port=2222"
#SSH_GDB_TUNNEL_REQUIRED=y
SSH_OPTIONS=-o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "Port=2222"
SSH_GDB_TUNNEL_REQUIRED=y
SSH_OPTIONS+=-i ~/.ssh/mzapo-root-key
#SSH_OPTIONS=-i /opt/zynq/ssh-connect/mzapo-root-key
#SSH_OPTIONS=-o 'ProxyJump=ctu_login@postel.felk.cvut.cz'


@@ 24,6 24,7 @@ IMAGE_VIEWER=$(BIN_DIR)/image-viewer
LIB_PHERIPHERALS=$(BIN_DIR)/libmzapo-pheripherals.so
LIB_GUI=$(BIN_DIR)/libmzapo-gui.so
TEXT_VIEWER=$(BIN_DIR)/text-viewer
FILE_BROWSER=$(BIN_DIR)/file-browser

ifdef COMPUTER
DEPENDENCIES=./.computer


@@ 31,12 32,13 @@ else
DEPENDENCIES=./.arm
endif

all: $(DEPENDENCIES) image-viewer text-viewer
all: $(DEPENDENCIES) image-viewer text-viewer file-browser

image-viewer: $(IMAGE_VIEWER)
lib-pheripherals: $(LIB_PHERIPHERALS)
lib-gui: $(LIB_GUI)
text-viewer: $(TEXT_VIEWER)
file-browser: $(FILE_BROWSER)

$(IMAGE_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
	@make -C image-viewer


@@ 44,6 46,9 @@ $(IMAGE_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
$(TEXT_VIEWER): $(DEPENDENCIES) lib-pheripherals lib-gui FORCE
	@make -C text-viewer

$(FILE_BROWSER): $(DEPENDENCIES) lib-pheripherals lib-gui FORCE
	@make -C file-browser

$(DEPENDENCIES):
	@make clean
	touch $(DEPENDENCIES)


@@ 68,8 73,9 @@ run-text-viewer: copy-executable

clean:
	@make -C image-viewer clean
	@make -C lib-pheripherals clean
	@make -C text-viewer clean
	@make -C file-browser clean
	@make -C lib-pheripherals clean
	@make -C lib-gui clean
	$(RM) -rf $(BIN_DIR)
	$(RM) -rf ./.computer ./.arm

A file-browser/.gitignore => file-browser/.gitignore +4 -0
@@ 0,0 1,4 @@
connect.gdb

obj/
bin/

A file-browser/Makefile => file-browser/Makefile +69 -0
@@ 0,0 1,69 @@
SRC_DIR=./src
OBJ_DIR=./obj
BIN_DIR?=./bin
INC_DIR=-I./include $(INHERIT_INCLUDES)
LIB_DIR?=

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 = -lmzapo-pheripherals -lmagic $(shell sdl2-config --libs) -lSDL2_image
CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
else
LDFLAGS = -lmzapo-pheripherals -l :libmagic.so.1
endif
LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR)

NAME=file-browser
BINARY=$(BIN_DIR)/$(NAME)

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) $(LDFLAGS) $^ $(LDLIBS) -o $@

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
	$(CC) $(CFLAGS) -c $< -o $@

$(BIN_DIR) $(OBJ_DIR):
	echo $(BIN_DIR)
	mkdir -p $@

dep: depend

depend: $(SRC) $(HEADERS)
	echo '# autogenerated dependencies' > depend
ifneq ($(filter %.c,$(SRC)),)
	$(CC) $(CFLAGS) $(CPPFLAGS) -w -E -M $(filter %.c,$(SRC)) \
	  >> depend
endif
ifneq ($(filter %.cpp,$(SRC)),)
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -w -E -M $(filter %.cpp,$(SRC)) \
	  >> depend
endif

clean:
	$(RM) -rv $(BIN_DIR) $(OBJ_DIR)
	$(RM) -rv .cache
	$(RM) -rv connect.gdb
	$(RM) -rv depend

-include $(OBJ:.o=.d)
-include depend

Do not follow this link