由于Makefile不是很熟悉,为了以后使用方便,在此记录一个常用Makefile,并且会继续更新。

common stanza:

#common header
SHELL = /bin/sh

CC=gcc
COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDDIR) $(LDFLAGS)
LDDIR=-L../lib
LDLIBS=../lib/libapue.a $(EXTRALIBS)
CFLAGS=-I../include -Wall -D_GNU_SOURCE $(EXTRA)

LIB=../libapue.a

.SUFFIXES:
.SUFFIXES: .c .o

使用公共部分来创建具体的target。

include ../Makefile.common

PROGS = test_orphan test_hello

all: ${PROGS}

clean:
    rm -f ${PROGS}

创建一个lib archive的Makefile:

include ../Makefile.common

# for ar parts
AR = ar
LIBMISC = libapue.a
OBJS = error.o errorlog.o pathalloc.o prexit.o prmask.o

RANLIB = ranlib

all: ${OBJS}
        ${AR} rv ${LIBMISC} $?
        ${RANLIB} ${LIBMISC}

clean:
        rm -f *.o a.out core temp.* ${LIBMISC}

相关文章:

  • 2021-04-28
  • 2022-12-23
  • 2021-06-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2021-07-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2021-10-09
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
相关资源
相似解决方案