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

Всем привет. линукс это сложная штука конечно, но порой она превосходит ожидания. Как правильно написать рецепт, например есть header.h main.c нужен исполняемый с именем например name. Как это все оформить?
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 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 ман и разбираешь по нему этот пример (если не хватит тяму его просто поправить под себя).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы