快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

新蒲京澳门赌场网站:一套完整的makefile样板



~/bin 可履行法度榜样目录

~/etc 设置设置设备摆设摆设文件目录

~/inc 头文件目录

~/lib 函数库文件目录

~/log 日志文件目录

~/src 源法度榜样文件目录

~/src/lib 函数库源法度榜样目录

~/src/lib/LIB_1 函数库libLIB_1源法度榜样目录

~/src/APP_A 子系统APP_A源法度榜样目录

~/src/APP_A/mod_a 子系统APP_A模块mod_a源法度榜样目录

~/.profile

~/makefile

~/makefile文件内容如下:

all:

@MakeSubDir() \

{ \

for DIR in `ls|grep&nbs'''l''';ls|grep -v&nbs'''l'''`; do \

if [ -d $${DIR} ]; then \

cd $${DIR}; \

MakeSubDir; \

if [ -f makefile -o -f Makefile ]; then \

echo ""; \

pwd; \

make all; \

fi; \

cd ..; \

fi; \

done; \

}; \

MakeSubDir

tar:

@tar -cf `date +%Y%m%d-%H%M%S`.tar .profile `ls|grpbpv&nbs;'''.tar''''`

~/src/lib/LIB_1/makefile文件内容如下:

ALL: INFO all

BASEDIR = $(HOME)

INC = $(BASEDIR)/inc

LIB = $(BASEDIR)/lib

PRDNAME = $(LIB)/libLIB_1

PRODUCT = $(PRDNAME).a $(PRDNAME).so

OBJS = LIB_1_f1.o LIB_1_f2.o

AR = ar

CC = cc

all: $(PRODUCT)

$(PRDNAME).a: $(OBJS)

@echo "Making $@ ..."

@$(AR) -r $@ $(OBJS)

$(PRDNAME).so: $(OBJS)

@echo "Making $@ ..."

@$(CC) -G -o $@ $(OBJS)

.c.o: *.h $(INC)/*.h

@echo "Compili新蒲京澳门赌场网站ng $< ..."

@$(CC) -c -I$(INC) $<

INFO:

@echo "make all - samenpwh&nbs;'''make'''' except this message"

@echo "make clear - remove object files"

@echo "make clea新蒲京澳门赌场网站n - remove all object and target files"

@echo ""

clear: FORCE

@rm -f *.o

clean: FORCE cle新蒲京澳门赌场网站ar

@rm -f $(PRODUCT)

FORCE:

~/src/APP_A/mod_a/makefile文件内容如下:

ALL: INFO all

BASEDIR = $(HOME)

INC =新蒲京澳门赌场网站 $(BASEDIR)/inc

LIB = $(BASEDIR)/lib

BIN = $(BASEDIR)/bin

MODULE = $(BIN)/APP_A_mod_a

TESTER = APP_A_mod_a_t

PRODUCT = $(SERVER) $(TESTER)

CC = cc

all: $(PRODUCT)

$(MODULE): APP_A_mod_a.o

@echo "Making $@ ..."

@$(CC) $? -o$@ -L$(LIB) -lLIB_1

APP_A_mod_a_t: APP_A_mod_a_t.o

@echo "Making $@ ..."

@$(CC) $? -o$@ -L$(LIB) -lLIB_1

.c.o: *.h $(INC)/*.h

@echo "Compiling $在主目录下用'''mak新蒲京澳门赌场网站e''''敕令能够首先建立函数库,然后建立所有目标2.在主目录下应用''mk&bsp;tar''''敕令能够对全部系统进行打包,天生的文件以日期和光阴命名。 鄙人目录中直接用'''make''''敕令会首先给出用法提示,然后建立本目录所有目标。 .最层子目录中应用''''k&bp;clear''''敕令可以清除本目录的所有.o文件。 <>.最层子目录中应用''''k&bp;clean''''敕令可以清除本目录的所有.o文件和建立的所有目标。

注:在某些情况下,因为make中调用shell敕令的机制,可能不支持递归。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: