@@ -28,64 +28,39 @@ PORT_DIST_DIR=./dist/ports/$(PORT)/$(BOARD)
2828
2929UNIX_MICROPYTHON = ./dist/ports/unix/micropython
3030
31- $(MODULES_PATH ) /emlearn_trees.mpy :
32- make -C src/emlearn_trees/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
3331
34- $(MODULES_PATH ) /emlearn_neighbors.mpy :
35- make -C src/emlearn_neighbors/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
36-
37- $(MODULES_PATH ) /emlearn_iir.mpy :
38- make -C src/emlearn_iir/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
39-
40- $(MODULES_PATH ) /emlearn_fft.mpy :
41- make -C src/emlearn_fft/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
42-
43- $(MODULES_PATH ) /emlearn_cnn_int8.mpy :
44- make -C src/tinymaix_cnn/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 CONFIG=int8 clean dist
45-
46- $(MODULES_PATH ) /emlearn_cnn_fp32.mpy :
47- make -C src/tinymaix_cnn/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 CONFIG=fp32 clean dist
48-
49- $(MODULES_PATH ) /emlearn_kmeans.mpy :
50- make -C src/emlearn_kmeans/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
51-
52- $(MODULES_PATH ) /emlearn_iir_q15.mpy :
53- make -C src/emlearn_iir_q15/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
54-
55- $(MODULES_PATH ) /emlearn_arrayutils.mpy :
56- make -C src/emlearn_arrayutils/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
57-
58- $(MODULES_PATH ) /emlearn_linreg.mpy :
59- make -C src/emlearn_linreg/ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} V=1 clean dist
60-
61- emlearn_trees.results : $(MODULES_PATH ) /emlearn_trees.mpy
62- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_trees.py
63-
64- emlearn_neighbors.results : $(MODULES_PATH ) /emlearn_neighbors.mpy
65- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_neighbors.py
66-
67- emlearn_iir.results : $(MODULES_PATH ) /emlearn_iir.mpy
68- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_iir.py
69-
70- emlearn_fft.results : $(MODULES_PATH ) /emlearn_fft.mpy
71- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_fft.py
72-
73- emlearn_cnn.results : $(MODULES_PATH ) /emlearn_cnn_int8.mpy $(MODULES_PATH ) /emlearn_cnn_fp32.mpy
74- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_cnn.py
75-
76- emlearn_kmeans.results : $(MODULES_PATH ) /emlearn_kmeans.mpy
77- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_kmeans.py
78-
79- emlearn_iir_q15.results : $(MODULES_PATH ) /emlearn_iir_q15.mpy
80- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_iir_q15.py
81-
82- emlearn_arrayutils.results : $(MODULES_PATH ) /emlearn_arrayutils.mpy
83- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_arrayutils.py
84-
85- emlearn_linreg.results : $(MODULES_PATH ) /emlearn_linreg.mpy
86- MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_linreg.py
87-
88- tests_all.results :
32+ # List of modules
33+ MODULES = emlearn_trees \
34+ emlearn_neighbors \
35+ emlearn_iir \
36+ emlearn_fft \
37+ emlearn_kmeans \
38+ emlearn_iir_q15 \
39+ emlearn_arrayutils \
40+ emlearn_linreg \
41+ emlearn_cnn_int8 \
42+ emlearn_cnn_fp32
43+
44+ # Generate list of .mpy files
45+ MODULE_MPYS = $(addprefix $(MODULES_PATH ) /,$(addsuffix .mpy,$(MODULES ) ) )
46+
47+ # Special cases
48+ emlearn_cnn_int8_SRC = src/tinymaix_cnn
49+ emlearn_cnn_int8_CONFIG = CONFIG=int8
50+ emlearn_cnn_fp32_SRC = src/tinymaix_cnn
51+ emlearn_cnn_fp32_CONFIG = CONFIG=fp32
52+
53+ # Generate list of .mpy files
54+ MODULE_MPYS = $(addprefix $(MODULES_PATH ) /,$(addsuffix .mpy,$(MODULES ) ) )
55+
56+ # Build dynamic native module
57+ # defaults to
58+ $(MODULES_PATH ) /% .mpy :
59+ make -C $(or $($(* ) _SRC) ,src/$* ) \
60+ ARCH=$(ARCH ) MPY_DIR=$(MPY_DIR_ABS ) CFLAGS_EXTRA=${CFLAGS_EXTRA} \
61+ V=1 $($(* ) _CONFIG) clean dist
62+
63+ check_unix_natmod : $(MODULE_MPYS )
8964 MICROPYPATH=$(MODULES_PATH ) $(MICROPYTHON_BIN ) tests/test_all.py
9065
9166$(PORT_DIR ) :
@@ -130,8 +105,8 @@ release:
130105 zip -r $(RELEASE_NAME ) .zip $(RELEASE_NAME )
131106 # cp $(RELEASE_NAME).zip emlearn-micropython-latest.zip
132107
133- check : tests_all.results
108+ check : check_unix_natmod
134109
135- dist : $(MODULES_PATH ) /emlearn_trees.mpy $( MODULES_PATH ) /emlearn_neighbors.mpy $( MODULES_PATH ) /emlearn_iir.mpy $( MODULES_PATH ) /emlearn_iir_q15.mpy $( MODULES_PATH ) /emlearn_fft.mpy $( MODULES_PATH ) /emlearn_kmeans.mpy $( MODULES_PATH ) /emlearn_arrayutils.mpy $( MODULES_PATH ) /emlearn_cnn_int8.mpy $( MODULES_PATH ) /emlearn_cnn_fp32.mpy $( MODULES_PATH ) /emlearn_linreg.mpy
110+ dist : $(MODULE_MPYS )
136111
137112
0 commit comments