makefile例子

1、目录结构

2、文件

2.1、 test.h

extern void test(void);

2.2 、test.c

#include <stdio.h>

void test(void)
{
    printf("Hello world!\n");
}

2.3 、main.c

#include "test.h"

int main(void)
{
    test();
    return 0;
}

2.4、makefile

TEST_DIR := $(shell pwd)/..
TEST_INC := $(TEST_DIR)/include
TEST_SRC := $(TEST_DIR)/src
TEST_LIB := $(TEST_DIR)/lib

CC := gcc

LIB_DIR := -L$(TEST_LIB)

INC_DIR := -I$(TEST_DIR) \
	   -I$(TEST_INC) \
	   -I$(TEST_LIB)/include


SRC_C := $(wildcard $(TEST_DIR)/*.c)
SRC_C += $(wildcard $(TEST_SRC)/*.c)

OBJS := $(patsubst %.c, %.o, $(SRC_C))
CFLAGS := -g -Wall -Werror

TEST_APP := test

%.o:%.c
	@$(CC) $(CFLAGS) $(INC_DIR) -c $< -o $@

default:$(OBJS)
	@$(CC) -g $(OBJS) $(LIB_DIR) -o $(TEST_APP)
	@echo "build test done..."

clean:
	@rm -rf $(OBJS) $(TEST_APP)
	@echo "clean done..."

3、测试

相关推荐

  1. <span style='color:red;'>Makefile</span>

    Makefile

    2023-12-22 04:06:01      53 阅读
  2. makefile使用

    2023-12-22 04:06:01       46 阅读
  3. Makefile学习

    2023-12-22 04:06:01       36 阅读
  4. Linux Makefile

    2023-12-22 04:06:01       31 阅读
  5. Spark例子

    2023-12-22 04:06:01       52 阅读
  6. C++<span style='color:red;'>例子</span>

    C++例子

    2023-12-22 04:06:01      37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-22 04:06:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-22 04:06:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-22 04:06:01       87 阅读
  4. Python语言-面向对象

    2023-12-22 04:06:01       96 阅读

热门阅读

  1. Mysql的基础问题原理

    2023-12-22 04:06:01       59 阅读
  2. 灰度化、二值化、边缘检测、轮廓检测

    2023-12-22 04:06:01       60 阅读
  3. vue 响应式页面使用transform实现

    2023-12-22 04:06:01       74 阅读
  4. springboot项目0-1之mybatis

    2023-12-22 04:06:01       71 阅读
  5. Linux DISK赛题配置

    2023-12-22 04:06:01       59 阅读
  6. NVIDIA GPU日志解读

    2023-12-22 04:06:01       57 阅读
  7. C语言—每日选择题—Day58

    2023-12-22 04:06:01       65 阅读