Goog вечер,МИНУС: сделать, чтобы создать меньше файлов сам
Я совершенно новой для Makefiles и разработал файл, который соответствует нашим потребностям хорошо, но я не полностью удовлетворен. Мы используем bootstrap3 и имеем около 40 клиентов с различными настройками цвета. Вот почему нам нужно скомпилировать 40 немного разных css-файлов. До сих пор мы имеем следующую структуру файла
- меньше/customer1.less
- CSS/customer1.css
- цвета/customer.less содержит бутстрэпы переменного файл
customer1.less содержит
@variables: 'myCompany/color/customer1'; //this is forwarded to where bootrstrap loads the variables template
@import "bootstrap";
@import 'myCompany/modifications';
Наш Makefile
SOURCES = $(shell ls less/*.less)
# Files we don't want to be build
SOURCES := $(filter-out less/bootstrap.less, $(SOURCES))
SOURCES := $(filter-out less/a11y.less, $(SOURCES))
TARGETS = $(patsubst less/%.less,css/%.css,$(SOURCES))
DEPEND = $(patsubst less/%.less,make/%.d,$(SOURCES))
css/%.css: less/%.less
# First building dependency files
lessc -M $< [email protected] > 'make/$*.d'
# Then building CSS and sourcemap
lessc -s $< > [email protected] --source-map=map/$*.css.map --source-map-basepath=map --clean-css
-include $(DEPEND)
all: $(TARGETS)
Вызов
$ make all
Создает Makefiles в гриме /, CSS в CSS/CSS-источников карт на карте/и ожидает МЕНЬШЕ быть меньше /.
Это работает, но мы должны создать customerX.less для каждого клиента вручную, даже если единственным отличием является назначенный файл цветовой схемы/переменных. Make должен выглядеть в папке с цветом, если есть файл для этого клиентаX, а затем создать (но не перезаписывать!) CustomerX.less в меньшей директории.
Любой гуру здесь знает, как это сделать с помощью make?
Кажется, что в файле makefile все еще что-то не так. Для клиента1 все в порядке. Но он не обновляет клиента2. Этот behevior зависит от порядка в включенной statemant. Если я сначала включу customer2, все работает для этого клиента, но тогда клиент1 отсутствует. Кто-нибудь знает, почему? Уже пыталась установить новую переменную DEPEND, которая содержит зависимости. Тем не менее та же проблема с порядком зависимости. – Corni
Это произошло потому, что я назвал «make», а не «make all». Я улучшил код выше. – Corni