Спасибо всем за предложения, я действительно ценю это. Получил эту чертову работу, используя следующую команду:
$(shell find -name "*.c")
Таким образом, мы можем присвоить ее переменной и использовать. При этом мы можем использовать следующий make-файл для соответствующей предлагаемой структуры проекта.
- Makefile (комментарии на португальском языке)
Этот проект настроен однако для программирования avr-g cc эта концепция применима к обычному программированию c и cpp. Файловая структура (пример, где i2 c может быть модулем generi c и специальным заголовком avr_config.ha при компиляции проектов, связанных с avr-g cc):
.
├── modules
│ └── i2c
│ ├── i2c.c
│ └── i2c.h
├── main.c
├── Makefile
└── avr_config.h
Может быть как много модулей, сколько вы хотите, так как переменная
SOURCE_FILES = $(shell find -name "*.c")
захватить все из них. Я установил это самым простым способом, которым это можно сделать, поэтому, как следствие, объектные файлы будут скомпилированы рядом с исходным и заголовочным файлами, а затем соединены вместе в главном каталоге. Также файл с именем
depend.d
будет создан для выполнения компиляции.
Makefile также содержит некоторые полезные команды, которые описаны в начале файла.
Надеюсь, это кому-нибудь поможет! Будет сделано специальное сообщение, объясняющее весь контекст и как настроить универсальный проект c avr-g cc для программирования микроконтроллеров в коде Visual Studio.