У меня есть файлы X.c
и X.ispc
, и я хочу создать общую библиотеку X.so
с использованием make-файла.
Тем не менее, простой make-файл ниже дает мне только:
gcc -m32 -c X.c -o X.c.o
ispc -O2 --arch=x86 --target=sse4-i32x4 X.ispc -o X.ispc_o
gcc -m32 -Wl,-hash-style=sysv -fno-stack-protector -fPIC -nostdlib -shared X.c.o -o X.so
X.ispc_o отсутствует на последнем шаге. Могу ли я знать, что я сделал не так?
ISPC=ispc
ISPCFLAGS=-O2 --arch=x86 --target=sse4-i32x4
CC = gcc
CFLAGS = -m32 -Wl,-hash-style=sysv -fno-stack-protector -fPIC -nostdlib -shared
default: so
.PHONY: clean
clean:
/bin/rm -rf objs *.o
obj := $(patsubst %.c, %.so, $(wildcard *.c))
so: $(obj)
%.so: %.c.o %.ispc_o
$(CC) $(CFLAGS) $< -o $@
%.ispc_o: %.ispc
$(ISPC) $(ISPCFLAGS) $< -o $@
%.c.o: %.c
$(CC) -m32 -c $< -o $@