您的位置:首页 > 其它

测试GCC和make是否正常工作

2007-07-18 23:48 393 查看
我下一周的主要工作就是要让CDC在Linux-x86平台上跑起来,《论语·魏灵公》:“工欲善其事,必先利其器。“,所以,我首先要测试以下我的编译环境是否建好。首先创建几个文件:

defs.h:
###################################################################################
#ifndef BOLIDA_DEFS_H
#define BOLIDA_DEFS_H

#define DEFS_NAME "defs"

#endif
###################################################################################

command.h:
###################################################################################
#ifndef BOLIDA_COMMAND_H
#define BOLIDA_COMMAND_H

#define COMMAND_NANE "command"

#endif
###################################################################################

buffer.h:
###################################################################################
#ifndef BOLIDA_BUFFER_H
#define BOLIDA_BUFFER_H

#define BUFFER_NAME "buffer"

#endif
###################################################################################

main.c:
###################################################################################
#include "defs.h"
#include "stdio.h"

int main()
{
printf("%s/n","main begin!");
printf("main print: %s/n","main");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","main end!");
return 0;
}
###################################################################################

utils.c:
###################################################################################
#include "defs.h"
#include "stdio.h"

void utils_print()
{
printf("%s/n","utils begin!");
printf("utils print: %s/n","utils");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","utils end!");
}
###################################################################################

command.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"

void command_print()
{
printf("%s/n","command begin!");
printf("command print: %s/n","command");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","command end!");
}
###################################################################################

display.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"

void display_print()
{
printf("%s/n","display begin!");
printf("display print: %s/n","display");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","display end!");
}
###################################################################################

files.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "command.h"
#include "stdio.h"

void files_print()
{
printf("%s/n","files begin!");
printf("files print: %s/n","files");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","files end!");
}
###################################################################################

insert.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"

void insert_print()
{
printf("%s/n","insert begin!");
printf("insert print: %s/n","insert");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","insert end!");
}
###################################################################################

kbd.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"

void kbd_print()
{
printf("%s/n","kbd begin!");
printf("kbd print: %s/n","kbd");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","kbd end!");
}
###################################################################################

search.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"

void search_print()
{
printf("%s/n","search begin!");
printf("search print: %s/n","search");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","search end!");
}
###################################################################################

GNUmakefile:
###################################################################################
#Set var

CC = gcc
LD = ld

OBJS = main.o kbd.o command.o display.o insert.o search.o files.o utils.o

#get final target
#----------------------

mytestmake : $(OBJS)
@echo "begin!"
$(CC) -o mytestmake $(OBJS)

#----------------------

#get obj
#----------------------

main.o : main.c defs.h
$(CC) -c main.c

kbd.o : kbd.c defs.h command.h
$(CC) -c kbd.c

command.o : command.c defs.h command.h
$(CC) -c command.c

display.o : display.c defs.h buffer.h
$(CC) -c display.c

insert.o : insert.c defs.h buffer.h
$(CC) -c insert.c

search.o : search.c defs.h buffer.h
$(CC) -c search.c

files.o : files.c defs.h buffer.h command.h
$(CC) -c files.c

utils.o : utils.c defs.h
$(CC) -c utils.c

#-----------------------

#clean
#-----------------------

.PHONY : clean
clean :
-rm mytestmake ./$(OBJS)

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

将这12个文件放在同一个目录下,然后cd到这个目录下,输入make命令,可以看见编译没有问题,再执./mytestmake 可以看见main函数中的输出可以正确显示!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: