minwg64 компиляция самописной библиотеки ".a" на С
Компиляция обычных ".c" файлов проходит отлично, но вот когда я попытался добавить в проект свою библиотеку, то перестало компилироваться. Внутри папки mingw/bin, где лежит exec make я увидел ranlib но не понятно как его использовать. Makefile сначала запускает Makefile библиотеки, а потом компилирует саму программу. Как правильно сделать Makefile библиотеки что бы она успешно компилировалась на windows и unix?
Компиляция библиотеки:
NAME=csvlib.a
HEADER=scvlib.h
SRC=column_pos.c ...
OBJ = $(SRC:.c=.o)
$(NAME):$(OBJ)
ar -rc $@ $^
ranlib $(NAME)
%.o: %.c $(HEADER)
gcc -g -c -o $@ $<
Компиляция программы:
NAME = base_validator.exe
SOURCE = main.c ...
HEADER = base_validator.h
OBJECT = $(SOURCE:.c=.o)
LIB=csvlib.a
LIB_DIR=csvlib/
$(NAME):
make -C $(LIB_DIR)
mv $(LIB_DIR)$(LIB) .
gcc -L. $(LIB) -o $(NAME) $(SOURCE)
Библиотека находится соотвественно в csvlib/. На unix все отлично работает.