LINUX.ORG.RU

Linux Port

 


0

1

Всем привет, хочу восстановить порт игрового движка под Linux, этим никто ещё не занимался. Вот часть текста из консоли:

make
if [ ! -d . ];then mkdir .;fi
cd .
make -f Makefile.tier0 ARCH=AMD CC=cc CPLUS= CPP_LIB= BUILD_DIR=. BUILD_OBJ_DIR=./obj SOURCE_DIR=.. ENGINE_SRC_DIR=../engine COMMON_SRC_DIR=../common BASE_CFLAGS="-D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf" PUBLIC_SRC_DIR=../public DBG_SRC_DIR=../dbg ARCH_CFLAGS="-march=k6 -mmmx -msse -msse2 -O3 -pipe -fomit-frame-pointer -ffast-math -fforce-addr -funroll-loops -malign-loops=4 -malign-jumps=4 -malign-functions=4" SHLIBLDFLAGS="-shared -Wl,-Map,tier0_map.txt -Wl" SHLIBEXT=so LIBEXT=a SHLIBLDFLAGS="-shared -Wl,-Map,tier0_map.txt -Wl" SHLIBEXT=so CHECK_DSP="make_check/check_differences" ARCMD="ar rvs"
make[1]: Entering directory 'source2003_tests/src_main/linux'
mkdir ./obj
mkdir ./obj/tier0
make_check/check_differences ../tier0/tier0.dsp
I../public -Dstrcmpi=strcasecmp -w -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -march=k6 -mmmx -msse -msse2 -O3 -pipe -fomit-frame-pointer -ffast-math -fforce-addr -funroll-loops -malign-loops=4 -malign-jumps=4 -malign-functions=4 -g -ggdb -o obj/tier0/dbg.o -c ../tier0/dbg.cpp
make[1]: I../public: Command not found
Makefile.tier0:47: recipe for target 'obj/tier0/dbg.o' failed
make[1]: [obj/tier0/dbg.o] Error 127 (ignored)
Makefile's довольно старые и рассчитаны на старый Linux, но вот я хочу их обновить.



Последнее исправление: JoeCrocker (всего исправлений: 1)
Ответ на: комментарий от monk

Вот как в Makefile

INCLUDEDIRS=-I$(PUBLIC_SRC_DIR) -Dstrcmpi=strcasecmp
-I../public на выходе должно получиться, а - куда то пропадает

JoeCrocker
() автор топика
if [ ! -d . ];then mkdir .;fi
cd .

О господе!

I../public

Должно быть не просто -I, ещё и команда компилятора похоже пропущена.

Makefile's довольно старые и рассчитаны на старый Linux, но вот я хочу их обновить.

Не надо, перепиши с нуля на CMake.

slovazap ★★★★★
()
Ответ на: комментарий от JoeCrocker

То есть этот способ уже не пригодный?

Сборка обычным make? Для простых проектов из одного исходника вполне пригодный, для сложных вообще никогда не был.

Просто написать сборку с нуля будет скорее всего проще чем разбираться в древнем make коде, написанным, к тому же, шизофреником. А с нуля её гораздо проще писать на CMake чем на make, и пользоваться будет удобнее.

А что за команда пропущена примерно? gcc или что в этом роде?

Скорее всего. А может всё интереснее если ещё и минус пропадает. А почему ты меня спрашиваешь вместо того чтобы смотреть в makefile?

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Я все Makefile's посмотрел, и там вроде ничего подозрительного на проблему, хотя может быть вызов виноват?

INCLUDEDIRS=-I$(PUBLIC_SRC_DIR) -Dstrcmpi=strcasecmp

DO_CC=$(CPLUS) $(INCLUDEDIRS) -w $(CFLAGS) -o $@ -c $<

JoeCrocker
() автор топика
Ответ на: комментарий от JoeCrocker

Возможно CPLUS, возможно вызов DO_CC, возможно вместе.

slovazap ★★★★★
()

этим никто ещё не занимался

Это вопрос? Много кто :) Но обычно старые движки (особенно «не(до)портированные» — это чемодан без ручки с кактусом, который кушают особенные ценители сборки через автотулы(в лучшем случае шел 2016 год) и... VC6.0--

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

То есть это сборка на VC6.0? Я думал через make собирается, значит выход только один, переписать код? Можно какие нибудь документации более подходящие под этот случай?

JoeCrocker
() автор топика
Ответ на: комментарий от xDShot

Причин много, даже больше чем ты представляешь.

JoeCrocker
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.