Вот make-файл:
LIBDIRS += ./libRelease
LIBDIRS += ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/Skia
LIBDIRS += ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/LibTess
LIBDIRS += ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/SQLite
STATICS = $(wildcard $(LIBDIRS:=/*.a))
TARGETA = libRuntimeCoreJava.a
TARGETD = libRuntimeCoreJava.so
TARGETD1 = $(TARGETD).1
TARGETD2 = $(TARGETD).1.0
TARGETD3 = $(TARGETD).1.0.0
AR = ar cqs
AR_EXTRACT = ar -x
LINK = g++
SYMLINK = ln -f -s
LDFLAGS = -shared -Wl,-soname,libRuntimeCoreJava.so
EXTRACT =
all : $(TARGETD) $(TARGETA)
$(TARGETD) : clean
mkdir -p ./obj ./libRelease
$(foreach lib, $(STATICS), cp $(lib) ./obj;)
$(eval EXTRACT := $(wildcard ./obj/*.a))
echo $(EXTRACT)
$(foreach lib, $(EXTRACT), $(AR_EXTRACT) $(lib);)
$(foreach lib, $(EXTRACT), rm -f $(lib);)
#$(CXX) $(LDFLAGS) $(OBJS)
#$(SYMLINK) $(TARGETD) $(TARGETD1)
#$(SYMLINK) $(TARGETD) $(TARGETD2)
#$(SYMLINK) $(TARGETD) $(TARGETD3)
$(TARGETA) :
$(eval OBJS:=$(wildcard ./obj/*.o))
echo $(OBJS)
#$(AR) $(TARGETA) $(OBJS)
clean :
rm -rf ./ob
Вот вывод:
[matt6809@hogganz400 ArcGIS2]$ ls -l ./obj
total 23332
-rw-rw-r-- 1 matt6809 matt6809 191324 Mar 7 09:18 libCommon.a
-rw-rw-r-- 1 matt6809 matt6809 8427134 Mar 7 09:18 libGeometryXLib.a
-rw-rw-r-- 1 matt6809 matt6809 88580 Mar 7 09:18 libLibTess.a
-rw-rw-r-- 1 matt6809 matt6809 3401554 Mar 7 09:18 libMapping.a
-rw-rw-r-- 1 matt6809 matt6809 3558746 Mar 7 09:18 libpe_s.a
-rw-rw-r-- 1 matt6809 matt6809 412634 Mar 7 09:18 libpe++_s.a
-rw-rw-r-- 1 matt6809 matt6809 597808 Mar 7 09:18 libsg_s.a
-rw-rw-r-- 1 matt6809 matt6809 3523726 Mar 7 09:18 libSkia.a
-rw-rw-r-- 1 matt6809 matt6809 730064 Mar 7 09:18 libSQLite.a
-rw-rw-r-- 1 matt6809 matt6809 814234 Mar 7 09:18 libSymbolDictionary.a
-rw-rw-r-- 1 matt6809 matt6809 2128742 Mar 7 09:18 libSymbolXLib.a
[matt6809@hogganz400 ArcGIS2]$ make
rm -rf ./obj
mkdir -p ./obj ./libRelease
cp ./libRelease/libCommon.a ./obj; cp ./libRelease/libGeometryXLib.a ./obj; cp ./libRelease/libMapping.a ./obj; cp ./libRelease/libpe_s.a ./obj; cp ./libRelease/libpe++_s.a ./obj; cp ./libRelease/libsg_s.a ./obj; cp ./libRelease/libSymbolDictionary.a ./obj; cp ./libRelease/libSymbolXLib.a ./obj; cp ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/Skia/libSkia.a ./obj; cp ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/LibTess/libLibTess.a ./obj; cp ./SharedArcGIS/DepFilesLinux64/LibReleaseLinux64/SQLite/libSQLite.a ./obj;
echo
#g++ -shared -Wl,-soname,libRuntimeCoreJava.so
#ln -f -s libRuntimeCoreJava.so libRuntimeCoreJava.so.1
#ln -f -s libRuntimeCoreJava.so libRuntimeCoreJava.so.1.0
#ln -f -s libRuntimeCoreJava.so libRuntimeCoreJava.so.1.0.0
echo
#ar cqs libRuntimeCoreJava.a
Почему EXTRACT пуст?Вывод показывает, что библиотеки были скопированы в файл .obj.