-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (42 loc) · 2 KB
/
Makefile
File metadata and controls
48 lines (42 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
FIRMWARE_DIR := flipperzero-firmware
PLUGIN_DIR := plugin
NFC_PLUGINS_DIR := $(FIRMWARE_DIR)/applications/main/nfc/plugins/supported_cards
TEST_DIR := test
.PHONY: build clean copy-plugin test
build: copy-plugin
cd $(FIRMWARE_DIR) && ./fbt fap_bambu_parser
mkdir -p dist
@FAL_FILE=$$(find $(FIRMWARE_DIR)/build -name "bambu_parser.fal" 2>/dev/null | head -1); \
if [ -n "$$FAL_FILE" ]; then \
cp "$$FAL_FILE" dist/; \
echo "Plugin built: dist/bambu_parser.fal"; \
else \
echo "ERROR: bambu_parser.fal not found in build directory"; \
exit 1; \
fi
copy-plugin:
cp $(PLUGIN_DIR)/bambu.c $(NFC_PLUGINS_DIR)/
cp $(PLUGIN_DIR)/bambu_filaments.h $(NFC_PLUGINS_DIR)/
cp $(PLUGIN_DIR)/bambu_parser.h $(NFC_PLUGINS_DIR)/
@if ! grep -q "bambu_parser" $(FIRMWARE_DIR)/applications/main/nfc/application.fam; then \
echo "" >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo "App(" >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " appid=\"bambu_parser\"," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " apptype=FlipperAppType.PLUGIN," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " entry_point=\"bambu_plugin_ep\"," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " targets=[\"f7\"]," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " requires=[\"nfc\"]," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo " sources=[\"plugins/supported_cards/bambu.c\"]," >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
echo ")" >> $(FIRMWARE_DIR)/applications/main/nfc/application.fam; \
fi
clean:
rm -rf $(FIRMWARE_DIR)/build
rm -rf dist
rm -f $(NFC_PLUGINS_DIR)/bambu.c
rm -f $(NFC_PLUGINS_DIR)/bambu_filaments.h
rm -f $(NFC_PLUGINS_DIR)/bambu_parser.h
rm -f $(TEST_DIR)/test_bambu
test: $(TEST_DIR)/test_bambu
./$(TEST_DIR)/test_bambu
$(TEST_DIR)/test_bambu: $(TEST_DIR)/test_bambu.c $(PLUGIN_DIR)/bambu_parser.h $(PLUGIN_DIR)/bambu_filaments.h
gcc -o $@ $< -lm -Wall -Wextra