Makefile

zhaozj2021-02-16  50

Some people still ask questions about makefile. Below is a Makefile I summarized, in which some information is referred to, but some forget the source, the following is the information of these information, you should be able to search, thank them.

How to write a makefile

GNU Make Guide (Goerge Foot, Translation: Ha 6)

GNU Make (Richard M. Stallman and Roland McGrath)

######################################################################################################################################################################################################################################################################################################## ##########################################

# A general makefile for program.

# Created by mount0n (mount0n@yahoo.com). 2002.10.12

#

#

# 1, you put all src info the current dir.

# Your src file name soould be .c or .cpp file.

# 2, and set Compile Options and Program name.

# 3, Make Depend

# T set src dependender limited at first time and every time your change

# Depend rellation.

# 4, Make

# EVERYTHING IS OK. You can make makefile. HEHE.

#

######################################################################################################################################################################################################################################################################################################## ##########################################

CC = GCC

CWARN = -wstrict-prototypes -wall -wunused

CDEFS = -d_debug

CINCS = -i / usr / local / include

CFLAGS = $ (CWARN) $ (CDEFS) $ (CINCS) -g -O2

CXXFLAGS = $ (cflags)

Ldflags = -pthread -l / usr / local / lib

Program =

# Donot Change Below here.

SRCS = $ (Wildcard * .cpp) $ (Wildcard * .c)

Objs = $ (PATSUBST% .c,%. O, $ (PatSubst% .cpp,%. O, $ (srcs)))

Depend = MakeDepend - $ (cflags) -

CTAGS = CTAGS

All: $ (Program)

$ (Program): $ (OBJS)

Depend: $ (srcs)

$ (Depend) $ (SRCS)

Tags: $ (srcs)

$ (CTAGS) $ (srcs)

Clean:

-RM -F $ (Program) * .o tags core shar

Reply to: mounton (thinking ◎ pain in pain) () Reputation: 100 2002-11-13 11:32:00 Score: 0

######################################################################################################################################################################################################################################################################################################## ##########################################

# A general makefile for static library.

# Created by mount0n (mount0n@yahoo.com). 2002.10.12

#

# 1, you put all src info the current dir. # Your src file name soould be .c or .cpp file.

# 2, and set compile Options and lib name.

# 3, Make Depend

# To set src dependency limited at first time and every time you change

# Dependency relation.

# 4, Make

# EVERYTHING IS OK. You can make makefile. HEHE.

#

######################################################################################################################################################################################################################################################################################################## ##########################################

CC = GCC

CWARN = -wstrict-prototypes -wall -wunused

CDEFS =

CINCS =

CFLAGS = $ (CWARN) $ (CDEFS) $ (CINCS) -g -O2

CXXFLAGS = $ (cflags)

Destlib = libxxx.a

#LDFLAGS =

# Donot Change Below here.

SRCS = $ (Wildcard * .cpp) $ (Wildcard * .c)

Objs = $ (PATSUBST% .c,%. O, $ (PatSubst% .cpp,%. O, $ (srcs)))

Depend = MakeDepend - $ (cppflags) -

Arflags = CRU

Runlib = ranlib

All: $ (destlib)

$ (DESTLIB): $ (OBJS)

$ (Ar) $ (arflags) $ @ $?

$ (Runlib) $ (destlib)

Depend: $ (srcs)

$ (Depend) $ (SRCS)

Tags: $ (srcs)

$ (CTAGS) $ (srcs)

Clean:

-RM-F $ (destlib) * .o tags core shar

######################################################################################################################################################################################################################################################################################################## ##########################################

# A generalakefile for Dynamic Library.

# Created by mount0n (mount0n@yahoo.com). 2002.10.12

#

# 1, you put all src info the current dir.

# Your src file name soould be .c or .cpp file.

# 2, and set compile Options and lib name.

# 3, Make Depend

# To set src dependency limited at first time and every time you change

# Dependency relation.

# 4, Make

# EVERYTHING IS OK. You can make makefile. HEHE.

#

######################################################################################################################################################################################################################################################################################################## ##########################################

CC = GCC

CWARN = -wstrict-prototypes -wall -wunused

CDEFS = -d_debug

CINCS = -i / usr / local / incrudecflags = $ (cwarn) $ (cincs) -g-od

CXXFLAGS = $ (cflags)

Ldflags = -pthread -l / usr / local / lib

Destlib =

# Donot Change Below here.

SRCS = $ (Wildcard * .cpp) $ (Wildcard * .c)

Objs = $ (PATSUBST% .c,%. O, $ (PatSubst% .cpp,%. O, $ (srcs)))

Depend = MakeDepend - $ (cflags) -

Cflags = -fpic

CXXFLAGS = -fpic

All: $ (Program)

$ (DESTLIB): $ (OBJS)

$ (Cc) -shared -wl, -soname, $ (destlib) $ (LDFLAGS) $ (LDLIBS) $ ^ -o $ @

Depend: $ (srcs)

$ (Depend) $ (SRCS)

Tags: $ (srcs)

$ (CTAGS) $ (srcs)

Clean:

-RM-F $ (destlib) * .o tags core shar

Existing problems:

Depend needs the MakeDepend program;

Tags requires a CTAGS program, and only the VIM support program TAG;

转载请注明原文地址:https://www.9cbs.com/read-24790.html

New Post(0)