【高分】帮忙写一个交叉编译的Makefile

来源:百度知道 编辑:UC知道 时间:2024/07/06 20:11:34
/root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-g++ main.c -I/root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/include -static /root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/lib/libpthread.a -o hello

TARGT =s2

是一个socket多线程的程序:
/*s2.c*/
#include<stdio.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
#define bzero(a,b) memset(a,0,b)
int port = 8000;

int threadwork(void *pt)
{
//int connfd = *((int *)connect_fd);
printf("created a new thread success\n\n");
//write(connfd,"create a new thread",19);
return 0;
}

int main(){
struct sockaddr_in sin;
struct sockaddr_in pin;
int sock_descriptor;
int temp_sock_descriptor;
int address_

CC = /root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-g++
INCULDEDIR=/root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/include
LIBDIR=/root/Desktop/LinuxSam/buildroot/build_arm/staging_dir/usr/lib/libpthread.a
TARGT = hello
OBJ = $(TARGT).o
SRC = $(TARGT).c
%.o:%.c
$(CC) -I$(INCULDEDIR) -static -L$(LIBDIR)-c $< -o $@
$(TARGT) :$(OBJ)
$(CC) -o $@ $(OBJ)
clean:
rm -rf *.o

有个工具可以自动生成makefile的..很快就能学会...我自己试过

帮你写好了,参考了你的源码名字“s2.c“来写的,如果觉得好别忘了采纳我的答案
OBJS = s2.o
cc = gcc
CFLAGS = -Wall -O -g

s2 : $(OBJS)
tab键隔开$(cc) $(OBJS) -o s2
s2.o : s2.c
tab键隔开$(cc) $(CFLAGS) -c s2.c -o s2.o
clean:
tab键隔开rm s2
tab键隔开rm -rf *.o
tab键隔开rm *~