Koraidon

Форк
0
/
Makefile 
69 строк · 1.4 Кб
1
# Use `chcp 1251` to decode errors
2

3
# Use "--sysroot=$(SYSROOT_DIR)" for older NDKs
4

5
NDK ?= android-ndk-r25c
6
NDK_PATH ?= $(HOME)/$(NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin
7

8
SRC = src/main.c \
9
	  src/image_formats/tga.c \
10
	  src/video/screen.c \
11
	  src/video/pixel.c \
12
	  src/video/backfb.c \
13
	  src/video/tga_image.c \
14
	  src/video/scaler.c \
15
	  src/video/blit.c \
16
	  src/video/pixfmt_conv.c \
17
	  src/sensors/battery.c \
18
	  src/ui/psf_font.c \
19
	  src/ui/rect.c \
20

21
OBJS = $(SRC:.c=.o)
22
PROJECT = koraidon_firmware
23

24
RM ?= rm
25
CC = $(NDK_PATH)/armv7a-linux-androideabi24-clang
26
STRIP = $(NDK_PATH)/llvm-strip
27
CFLAGS ?= -Iinclude -static -flto -O0 -Wall
28

29
PY ?= python3
30

31
# STATIC_C = $(NDK_PATH)/../sysroot/usr/lib/arm-linux-androideabi/libc.a
32

33
all: $(PROJECT)
34

35
$(PROJECT): $(OBJS)
36
	$(CC) $(OBJS) -static -o $(PROJECT)
37
	$(STRIP) -s $(PROJECT)
38
	$(PY) tools/fix_tls_alignment.py $(PROJECT)
39

40
$(OBJS): %.o : %.c
41
	$(CC) $? -c $(CFLAGS) -o $@
42

43
clean:
44
	-$(RM) $(PROJECT)
45
	-$(RM) $(OBJS)
46

47
build_ports:
48
	cd ports/gameboy && \
49
	CC=$(CC) $(MAKE)
50

51
	cd ..
52

53
setup_device:
54
	@echo "Now, turn your phone into recovery mode."
55
	@echo -n "Press any key to continue..."
56
	@bash -c read -sn1
57

58
	adb shell mount /dev/block/platform/*/by-name/system /system
59

60
push:
61
	@echo "Now, connect your phone in pseudo-recovery mode."
62
	@echo -n "Press any key to continue..."
63
	@bash -c read -sn1
64
	
65
	adb push $(PROJECT) /
66
	adb shell chmod +x /$(PROJECT)
67

68
run:
69
	adb shell /koraidon_firmware
70

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.