Boa tarde, gostaria de saber se é possivel criar duas makefiles na mesma pasta. Isto é eu tenho ficheiros que sao usados pelo servidor.c(aqui encontra se uma main) e pelo cliente.c(aqui encontra se uma main).
crc.c é usado por ambos os main's é um codigo muito bom para quem anda a procura de um codigo de CRC
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "crc.h"
#define poly 0x04c11db7L
word32 chksum_crc32 (char *block, unsigned int length) //calcular crc32
{
register unsigned long crc;
unsigned long i;
crc = 0xFFFFFFFF;
for (i = 0; i < length; i++)
{
crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *block++) & 0xFF];
}
return (crc ^ 0xFFFFFFFF);
}
void chksum_crc32gentab () // gerar tabela
{
unsigned long crc;
int i, j;
for (i = 0; i < 256; i++)
{
crc = i;
for (j = 8; j > 0; j--)
{
if (crc & 1)
{
crc = (crc >> 1) ^ poly;
}
else
{
crc >>= 1;
}
}
crc_tab[i] = crc;
}
}
#include"gobackn.h"
void geraCRC(char* dados){
//gera o CRC de dados
}
void enviadados(){
// envia os dados
}
void recebedados(){
//recebe os dados
}
int* comunica(){
char str1[128];
char str2[128];
memset(str1, 0, 128);
memset(str2, 0, 128);
mkfifo("/home/hulkPT/read.fifo", 0666);
mkfifo("/home/hulkPT/write.fifo", 0666);
sprintf(str1,"/home/hulkPT/read.fifo");
sprintf(str2,"/home/hulkPT/write.fifo");
int* fifo = (int*)malloc(sizeof(int)*2);
fifo[1] = open(str1, O_RDWR);
fifo[0] = open(str2, O_RDWR);
return fifo;
}
Este é o main do servidor "servidor.c"
#include"gobackn.h"
int main(){
printf("\nOla eu sou o Servidor");
return(0);
}
Este é o main do Cliente "cliente.c"
#include"gobackn.h"
int main(){
printf("\nOla eu sou o Cliente");
return(0);
}
Aqui esta a makefile do Servidor:
CFLAGS = -Wall -Wextra -g
all: Servidor
LC5: servidor.o gobackn.o crc.o
gcc -o $@ -lpthread servidor.o gobackn.o crc.o
servidor.o : servidor.c
gcc -c servidor.c $(CFLAGS)
gobackn.o : gobackn.c gobackn.h
gcc -c gobackn.c $(CFLAGS)
crc.o : crc.c crc.h
gcc -c crc.c $(CFLAGS)
clean:
-rm *.o
distclean: clean
-rm -f Servidor
eu queria com isto tudo poder ter duas makefiles para compilar o servidor.c e o cliente.c usando os dois o mesmo crc.c e gobackn.c
desde ja obrigado
HulkPT