实验题目:使用一个makefile对多个文件进行编译,生成动态库和静态库
实验要求:需要文件具有以下目录结构
实验环境与工具:Linux、ubuntu20、gcc7.4.0、secureCRT4.0、notepad++
相关基础请先参考:使用makefile生成动态库和静态库
一、相关文件位置和名字
图1:主目录
图2:liba目录
图3:libso目录
二、makefile程序
TARGET := main
SOURCE := main.c
PWD_A := ./liba
SOURCE_A := $(wildcard $(PWD_A)/*.c)
OBJSA_A := $(PWD_A)/*.o
OBJSB_A := $(patsubst %.c,%.o,$(SOURCE_A))
TARGET_A := $(PWD_A)/libfunc_a.a
$(indo $(SOURCE_A))
PWD_SO := ./libso
SOURCE_SO := $(wildcard $(PWD_SO)/*.c)
OBJSA_SO := $(PWD_SO)/*.o
OBJSB_SO := $(patsubst %.c,%.o,$(SOURCE_SO))
TARGET_SO := $(PWD_SO)/libfunc_s.SO
#compile and lib and link parameter
CC := gcc
LDFLAGS := -L./liba/ -L./libso/
LIBS := -lfunc_a -lfunc_s
INCLUDE := -I./liba/ -I./libso
AR := ar
all: $(TARGET_A) $(TARGET_SO) $(TARGET)
#.a_link