Как создать исполняемый файл с помощью make?

Всем привет. линукс это сложная штука конечно, но порой она превосходит ожидания. Как правильно написать рецепт, например есть header.h main.c нужен исполняемый с именем например name. Как это все оформить?
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Make старый инструмент и он рассмотрен со всех мыслимых углов.

Вот самый простяцкий, топорный без всякой автоматизации Makefile:
# Which do you want install the program
INSTALLDIR=/usr/local/bin
MANDIR=/usr/local/man
HEADERS=extern.h vary.h
TESTS=bsddate
SRCS=date.c netdate.c vary.c
OBJS=date.o netdate.o vary.o
LIBS=-lbsd
MAN=bsddate.1

CC=gcc

# Flags for Linux
CFLAGS=-pipe -funsigned-char -ggdb -g3

RMF = -/bin/rm -f

all: $(TESTS)

.c.o:
        $(CC) -c $(DEFS) $(CFLAGS) $<

$(OBJS): $(HEADERS)

install:
        strip $(TESTS)
        install -d -m 755 -o root -g root $(INSTALLDIR)
        install -d -m 755 -o root -g root $(MANDIR)/man1
        install -c -m 755 -o root -g root $(TESTS) $(INSTALLDIR)
        install -c -m 644 -o root -g root $(MAN) $(MANDIR)/man1

clean:
        $(RMF) $(OBJS) $(TESTS) *~ *.core *.bak *.BAK

bsddate: $(OBJS)
        $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

Этот файл соберет бинарь bsddate из трех файлов исходников date.c, netdate.c и vary.c и двух файлов заголовков extern.h и vary.h, используя библиотеку libbsd, при установке раскидает по каталогам. Берешь приведенный в ответе AlexVWill ман и разбираешь по нему этот пример (если не хватит тяму его просто поправить под себя).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы