Помогите разобрать Makefile
Лет 10 уже не писал Makefile-ы, не могу понять, в чем собака порылась.
#!/usr/bin/make -f
CC := gcc
ifeq ($(CC),icc)
CFLAGS += -qopenmp
endif
ifeq ($(CC),gcc)
CFLAGS += -fopenmp
endif
CFLAGS += -I../include -lsrvc_cmd
TARGETS = $(patsubst %.c,%,$(wildcard *.c))
BINARY= $(patsubst %.c,%,$<)
install:
@for bin in $(TARGETS); do (rm -if $$bin); done
@for bin in $(TARGETS); do (make $$bin); done
rm -rf *.o *~ core .depend .*.cmd *.mod.c .tmp_versions
$(BINARY): $(BINARY)
$(CC) $(CFLAGS) -o $@ $@.o
clean:
@for bin in $(TARGETS); do (rm -if $$bin); done
rm -rf *.o *~ core .depend .*.cmd *.mod.c .tmp_versions
cleanall:
@for bin in $(TARGETS); do (rm -if $$bin); done
rm -rf *.o *~ core .depend .*.cmd *.mod.c .tmp_versions
.PHONY: build clean clean all
Проблема в том, что в итоге прога не может быть слинкована с библиотекой srvc_cmd, не находится нужный символ. Полагаю, что причина в том, библиотека указывается до файла с текстом, типа:
gcc -fopenmp -I../include -lsrvc_cmd prog.c -o prog