Я работаю над добавлением некоторых функций в модуль менеджера хранилища в Postgresql.Я уже добавил несколько исходных файлов в папку smgr, и мне удалось включить их в систему Make, добавив их имена в список OBJS в файле Makefile внутри папки smgr.(т.е. когда я добавляю Ac, я бы добавил Ao в список OBJS).
Это работало нормально.Сейчас я пытаюсь добавить новый файл hdfs_test.c в проект.Проблема с этим файлом заключается в том, что он требует некоторых дополнительных директив в своей команде компиляции (-I и -L директивы).
Команда gcc:
gcc hdfs_test.c -I/HDFS_HOME/hdfs/src/c++/libhdfs -I/usr/lib/jvm/default-java/include -L/HDFS_HOME/hdfs/src/c++/libhdfs -L/HDFS_HOME/build/c++/Linux-i386-32/lib -L/usr/lib/jvm/default-java/jre/lib/i386/server -ljvm -lhdfs -o hdfs_test
Следовательно, просто добавив hdfs_test.o к списку OBJS не работает.Я попытался отредактировать Makefile, чтобы он выглядел так:
OBJS = md.o smgr.o smgrtype.o A.o B.o hdfs_test.o
MyRule1 : hdfs_test.c
gcc tati.c -c -I/diskless/taljab1/Workspace/HDFS_Append/hdfs/src/c++/libhdfs -I/usr/lib/jvm/default-java/include -L/diskless/taljab1/Workspace/HDFS_Append/hdfs/src/c++/libhdfs -L/diskless/taljab1/Workspace/HDFS_Append/build/c++/Linux-i386-32/lib -L/usr/lib/jvm/default-java/jre/lib/i386/server -ljvm -lhdfs
, но это не сработало, и я продолжал получать сообщение об ошибке Make, пытающегося скомпилировать hdfs_test.c без включения директив.
Как сделать так, чтобы Make включал мои директивы компиляции для hdfs_test.c?
Спасибо