@@ -3,19 +3,84 @@ CFLAGS=-I. -O2
3
3
DEPS = msp.h msp_displayport.h network.h serial.h
4
4
DISPLAYPORT_MUX_OBJ = msp_displayport_mux.o serial.o network.o msp.o
5
5
OSD_DJI_OBJ = osd_dji_udp.o network.o msp.o msp_displayport.o dji_display.o dji_services.o
6
- OSD_DJI_LIBS := -lduml_hal
7
- ifneq ($(DJI_LIB_PATH),)
8
- OSD_DJI_LIBS := -L$(DJI_LIB_PATH) -lduml_hal
9
- endif
6
+ LIB_SHIMS = libshims/libduml_hal.so
7
+ #OSD_DJI_LIBS := -lduml_hal
8
+ #ifneq ($(DJI_LIB_PATH),)
9
+ OSD_DJI_LIBS := -L./libshims -lduml_hal
10
+ #endif
11
+
12
+ .PHONY: repo
10
13
11
14
%.o: %.c $(DEPS)
12
15
$(CC) -c -o $@ $< $(CFLAGS)
13
16
17
+ all: msp_displayport_mux osd_dji
18
+
14
19
msp_displayport_mux: $(DISPLAYPORT_MUX_OBJ)
15
20
$(CC) -o $@ $^ $(CFLAGS)
16
21
17
22
osd_dji: $(OSD_DJI_OBJ)
23
+ $(MAKE) -f Makefile.dji libshims
18
24
$(CC) -o $@ $^ $(CFLAGS) $(OSD_DJI_LIBS)
19
25
20
- clean:
26
+ #this doesn't work by default
27
+ #an extra duss_result_t(frame_pop_handler)
28
+ #is generated that the compiler doesn't like
29
+ libshims/%.c: %.h
30
+ stubgen -g -e .c -l -N -t libshims -p "../" -n $<
31
+
32
+ libshims/lib%.so: libshims/%.c
33
+ $(CC) -Wno-c2x-extensions -O2 -shared -o $@ $<
34
+
35
+ libshims: $(LIB_SHIMS)
36
+
37
+ goggle_ipk: osd_dji
38
+ $(eval PKG_NAME := $(shell cat ./ipk/goggle/control/control | grep Package | cut -d" " -f2))
39
+ $(eval ARCH := $(shell cat ./ipk/goggle/control/control | grep Architecture | cut -d" " -f2))
40
+ $(eval VERSION :=$(shell cat ./ipk/goggle/control/control | grep Version | cut -d" " -f2))
41
+ $(eval IPK_NAME := "${PKG_NAME}_${VERSION}_${ARCH}.ipk")
42
+ mkdir -p ipk/goggle/build
43
+ cp -r ipk/goggle/data ipk/goggle/build/
44
+ mkdir -p ipk/goggle/build/data/opt/bin
45
+ mkdir -p ipk/goggle/build/opt/fonts
46
+ echo "2.0" > ipk/goggle/build/debian-binary
47
+ cp -r ipk/goggle/control ipk/goggle/build/
48
+ cp osd_dji ipk/goggle/build/data/opt/bin
49
+ chmod +x ipk/goggle/build/data/opt/bin/osd_dji
50
+ cp font.bin ipk/goggle/build/data/opt/fonts
51
+ cd ipk/goggle/build/control && tar czvf ../control.tar.gz .
52
+ cd ipk/goggle/build/data && tar czvf ../data.tar.gz .
53
+ cd ipk/goggle/build && tar czvf "../../${IPK_NAME}" ./control.tar.gz ./data.tar.gz ./debian-binary
54
+
55
+ airunit_ipk: msp_displayport_mux
56
+ $(eval PKG_NAME := $(shell cat ./ipk/airunit/control/control | grep Package | cut -d" " -f2))
57
+ $(eval ARCH := $(shell cat ./ipk/airunit/control/control | grep Architecture | cut -d" " -f2))
58
+ $(eval VERSION :=$(shell cat ./ipk/airunit/control/control | grep Version | cut -d" " -f2))
59
+ $(eval IPK_NAME := "${PKG_NAME}_${VERSION}_${ARCH}.ipk")
60
+ mkdir -p ipk/airunit/build
61
+ echo "2.0" > ipk/airunit/build/debian-binary
62
+ cp -r ipk/airunit/data ipk/airunit/build/
63
+ cp msp_displayport_mux ipk/airunit/build/data/opt/bin
64
+ chmod +x ipk/airunit/build/data/opt/bin/msp_displayport_mux
65
+ cp -r ipk/airunit/control ipk/airunit/build/
66
+ cd ipk/airunit/build/control && tar czvf ../control.tar.gz .
67
+ cd ipk/airunit/build/data && tar czvf ../data.tar.gz .
68
+ cd ipk/airunit/build && tar czvf "../../${IPK_NAME}" ./control.tar.gz ./data.tar.gz ./debian-binary
69
+
70
+ ipk: goggle_ipk airunit_ipk
71
+
72
+ repo: ipk
73
+ mkdir -p repo
74
+ cp ipk/*.ipk repo/
75
+ ../opkg-utils-0.5.0/opkg-make-index ./repo/ > repo/Packages
76
+ http-server -p 8042 ./repo/
77
+
78
+ clean:
21
79
rm -rf *.o
80
+ rm -rf repo
81
+ rm -rf libshims/*.so
82
+ rm -rf msp_displayport_mux
83
+ rm -rf osd_dji
84
+ rm -rf ipk/goggle/build
85
+ rm -rf ipk/airunit/build
86
+ rm -rf ipk/*.ipk
0 commit comments