manually merged with ARM version

This commit is contained in:
2025-11-13 17:43:55 +03:00
parent f978759ae0
commit 04015fb4cb
463 changed files with 119514 additions and 45 deletions

145
makefile
View File

@ -7,44 +7,107 @@
#
# Ниже приведено несколько примеров в закоментированном виде
#--- Linux с заголовками и библиотекой в стандартных директориях: компилятор GCC
#CC = gcc
#--- Вариант запуска из MSYS со стандартным 32-битным mingw
#CC = gcc
#X502API_LIBRARIES_DIR = "/c/Program Files/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/c/Program Files/L-Card/lpcie/include"
#--- 64-битный вариант mingw w64, идущий вместе с cygwin --------
#CC = x86_64-w64-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw64"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
#--- 32-битный вариант mingw w64, идущий вместе с cygwin --------
#CC = i686-w64-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
#--- 32-битный вариант mingw, идущий вместе с cygwin --------
#CC = i686-pc-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
FLAGS =
ifdef X502API_LIBRARIES_DIR
FLAGS += -L $(X502API_LIBRARIES_DIR)
endif
ifdef X502API_INCLUDE_DIR
FLAGS += -I $(X502API_INCLUDE_DIR)
endif
all:
$(CC) main.c $(FLAGS) -ll502api -le502api -lx502api -g -o BF_companion
clean:
-rm BF_companion
#--- Linux с заголовками и библиотекой в стандартных директориях: компилятор GCC
#CC = gcc
#--- Вариант запуска из MSYS со стандартным 32-битным mingw
#CC = gcc
#X502API_LIBRARIES_DIR = "/c/Program Files/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/c/Program Files/L-Card/lpcie/include"
#--- 64-битный вариант mingw w64, идущий вместе с cygwin --------
#CC = x86_64-w64-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw64"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
#--- 32-битный вариант mingw w64, идущий вместе с cygwin --------
#CC = i686-w64-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
#--- 32-битный вариант mingw, идущий вместе с cygwin --------
#CC = i686-pc-mingw32-gcc
#X502API_LIBRARIES_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/lib/mingw"
#X502API_INCLUDE_DIR = "/cygdrive/c/Program Files (x86)/L-Card/lpcie/include"
CC ?= gcc
CFLAGS ?= -O2 -g
BUILD_DIR ?= build
X502API_ROOT := x502api-1.1.34
X502_SRC_DIR := $(X502API_ROOT)/src
L502_SRC_DIR := $(X502API_ROOT)/devs/l502
E502_SRC_DIR := $(X502API_ROOT)/devs/e502
OSSPEC_DIR := $(X502API_ROOT)/lib/osspec
LTIMER_DIR := $(X502API_ROOT)/lib/ltimer
LCSPEC_DIR := $(X502API_ROOT)/lib/lcspec
CRC_DIR := $(X502API_ROOT)/lib/crc
LCSPEC_COMPILER ?= gcc
LTIMER_PORT := linux
INCLUDES := \
-I$(X502_SRC_DIR) \
-I$(L502_SRC_DIR) \
-I$(E502_SRC_DIR) \
-I$(OSSPEC_DIR) \
-I$(LTIMER_DIR) \
-I$(LTIMER_DIR)/ports/$(LTIMER_PORT) \
-I$(LCSPEC_DIR) \
-I$(LCSPEC_DIR)/$(LCSPEC_COMPILER) \
-I$(CRC_DIR)
DEFINES := -DOSSPEC_USE_MUTEX -DOSSPEC_USE_EVENTS -DOSSPEC_USE_THREADS \
-DX502API_VER_MAJOR=1 -DX502API_VER_MINOR=1 -DX502API_VER_PATCH=34 \
-DENABLE_USB
X502_SRCS := \
x502api.c \
x502api_streams.c \
x502api_async.c \
x502api_bf.c \
x502api_config.c \
x502api_eeprom.c \
x502api_errs.c
L502_SRCS := \
l502api.c \
l502api_compat.c \
l502api_eeprom.c \
l502api_bf.c \
linux/l502_spec.c
E502_SRCS := \
e502api.c \
e502api_usb.c \
e502api_tcp.c \
e502api_dnssd.c \
e502api_eth_config.c
OSSPEC_SRCS := $(OSSPEC_DIR)/osspec.c
LTIMER_SRCS := $(LTIMER_DIR)/ports/$(LTIMER_PORT)/lclock.c
CRC_SRCS := $(CRC_DIR)/fast_crc.c
SRCS := \
main.c \
$(addprefix $(X502_SRC_DIR)/,$(X502_SRCS)) \
$(addprefix $(L502_SRC_DIR)/,$(L502_SRCS)) \
$(addprefix $(E502_SRC_DIR)/,$(E502_SRCS)) \
$(OSSPEC_SRCS) \
$(LTIMER_SRCS) \
$(CRC_SRCS)
OBJS := $(addprefix $(BUILD_DIR)/,$(SRCS:.c=.o))
$(BUILD_DIR)/%.o: %.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@
all: BF_companion
BF_companion: $(OBJS)
$(CC) $(CFLAGS) $^ -lpthread -lusb-1.0 -lm -o $@
clean:
rm -rf $(BUILD_DIR) BF_companion