Вот я сейчас собрал дему и думаю о том же самом. Куча идей витает в воздухе, но никто их вместе не знает. Постараюсь на следующей неделе набросать костяк. У меня куча утилит командной строки, часть своих, часть стандартных. Но их даже найти бывает сложно…
Привычка, да. Ну, еще make заменяет пачку батников (все в одном файле и без лишних условий). Но по скорости, конечно, если ресурсы делаются долго — выручает. Бывает не только запаковать чего. У меня самое долгое был конверт молелей из obj, там еще искались зеркальные/зеркальные c коэфициентом вершины, очень наивная реализация, (n^хрензнаетсколько), секунды на модель.
А вообще, было бы круто создать общую репу со скриптами (я так понимаю, питон?) для сборок(trd, например, хотя я из сжасма делал)/конверсий(форматы, спрайты, гифки:)/генераций табличек(логарифмы/синусы).
до сих пор вспоминаю, как бегал по папкам и запускал make.bat, чтобы собрать ldd, да еще и за 2 часа до дедлайна :)
даже инструкция внутри ридмика от проекта осталась:
howto make it:
1. run "make.bat" in ALL directories
2. run "build.bat" in "\loader"
3. use "\loader\ldd.spg" as resulting file
На самом деле, как раз здесь я и использовал принцип «разделяй и властвуй» — делаем одну часть, отлаживаем, затем линкуем с остальной демой, максимально абстрагируясь от внутренней структуры части (главное — войти и потом выйти :).
Нене, я всё это понимаю. Но, как ты понимаешь, у меня в точности то же самое, только батником. Когда время полной сборки меряется десятыми долями секунды, намного труднее оправдать make. Здесь вам не C++ :)
На самом деле, было бы интересно услышать реальные доводы в пользу make, кроме, понятно, привычки, индустриальных стандартов и т.д. На #z80 было несколько баталий, все аргументы которых свелись примерно к тому, что make — это «правильно». Но почему это так в нашем случае — никто так и не узнал.
Отчасти согласен. Но отчасти. Но согласен ;)
Мейкфайл я не пишу каждый раз заново, просто беру предыдущий и немного правлю (это можно заметить по его корявости, хехе). Поэтому особых усилий как бы и нету. Зато я ленивый, рассеянный и люблю часто собирать, ничего не могу с собой поделать ;) Сборка собственно кода времени особо не занимает, да, но вот в пеппе, например, было двадцать с чем-то картинок, которые постоянно подправлялись. После каждой правки — опять конверсия, упаковка и всё такое. А ещё Олежа выдаёт по десять новых версий трека в секунду, когда разойдётся ;) Так что лично мне просто проще один раз написать мейкфайл и потом не париться.
scl_e:
savebin "huj.scl",scl_b,scl_e-scl_b
LUA
local fp
local checksum
-- never rename file
fp = assert(io.open("huj.scl", "rb"))
checksum=0
while true do
local byte = fp:read(1)
if byte==nil then
break
end
checksum=checksum+string.byte(byte)
end
assert(fp:close())
print("writing",string.format("%08X",checksum))
fp = assert(io.open("huj.scl", "a"))
for i=1,4 do
fp:write(string.char(checksum%256))
checksum=math.floor(checksum/256)
end
-- assert(fp:flush())
assert(fp:close())
-- os.rename("huj.scl", "Xtermin.scl")
local ss=""
for i=0,7,1 do
ss=ss..string.char( sj.get_byte( sj.get_label("file1")+i ) )
end
ss=ss:match "^%s*(.-)%s*$"
-- print(ss)
os.rename("huj.scl", ss..".scl")
ENDLUA
Раз пошла такая пьянка, признаюсь: я пользуюсь Makefile'ами :) Правда, под пингвином. Выглядят они как-то так. Удобно то, что пересобираются только изменённые файлы, при этом отслеживаются зависимости. Например, команда make run сначала соберёт снапшот (при его отсутствии), а уже потом запустит эмуль с ним ;) А виндовых батников я действительно опасаюсь, это да.
А вообще, было бы круто создать общую репу со скриптами (я так понимаю, питон?) для сборок(trd, например, хотя я из сжасма делал)/конверсий(форматы, спрайты, гифки:)/генераций табличек(логарифмы/синусы).
даже инструкция внутри ридмика от проекта осталась:
На самом деле, как раз здесь я и использовал принцип «разделяй и властвуй» — делаем одну часть, отлаживаем, затем линкуем с остальной демой, максимально абстрагируясь от внутренней структуры части (главное — войти и потом выйти :).
На самом деле, было бы интересно услышать реальные доводы в пользу make, кроме, понятно, привычки, индустриальных стандартов и т.д. На #z80 было несколько баталий, все аргументы которых свелись примерно к тому, что make — это «правильно». Но почему это так в нашем случае — никто так и не узнал.
Мейкфайл я не пишу каждый раз заново, просто беру предыдущий и немного правлю (это можно заметить по его корявости, хехе). Поэтому особых усилий как бы и нету. Зато я ленивый, рассеянный и люблю часто собирать, ничего не могу с собой поделать ;) Сборка собственно кода времени особо не занимает, да, но вот в пеппе, например, было двадцать с чем-то картинок, которые постоянно подправлялись. После каждой правки — опять конверсия, упаковка и всё такое. А ещё Олежа выдаёт по десять новых версий трека в секунду, когда разойдётся ;) Так что лично мне просто проще один раз написать мейкфайл и потом не париться.