now using Makefile
This commit is contained in:
parent
9c6269218e
commit
cbedf6189a
6 changed files with 48 additions and 18 deletions
42
Makefile
Normal file
42
Makefile
Normal file
|
@ -0,0 +1,42 @@
|
|||
# target name
|
||||
TARGET = moxerver
|
||||
|
||||
# special include directiories
|
||||
INCDIRS = -I.
|
||||
# special library directories
|
||||
LIBDIRS = -L
|
||||
# used libraries
|
||||
#LIBS = -lm
|
||||
LIBS = -l
|
||||
|
||||
# compiler and flags
|
||||
CC = gcc
|
||||
CFLAGS = -Wall $(INCDIRS) $(LIBDIRS)
|
||||
|
||||
# objects are .o files created from all .c files in the directory (same name)
|
||||
OBJECTS = $(patsubst %.c,%.o,$(wildcard *.c))
|
||||
# headers are all .h files in the directory
|
||||
HEADERS = $(wildcard *.h)
|
||||
|
||||
# all objects are built from their .c files and all headers in the directory
|
||||
%.o: %.c $(HEADERS)
|
||||
$(CC) $(CFLAGS) $(LIBS) -c $< -o $@
|
||||
|
||||
# target is built from all object files
|
||||
$(TARGET): $(OBJECTS)
|
||||
$(CC) $(CFLAGS) $(LIBS) $(OBJECTS) -o $@
|
||||
|
||||
|
||||
# support for default, clean and all options
|
||||
.PHONY: default all clean
|
||||
|
||||
# all calls all other options
|
||||
all: default clean
|
||||
|
||||
# default builds target
|
||||
default: $(TARGET)
|
||||
|
||||
# clean removec object files and target
|
||||
clean:
|
||||
-rm -f *.o
|
||||
-rm -f $(TARGET)
|
12
build.sh
12
build.sh
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Builds MoxaNix project
|
||||
|
||||
#TODO switch to Makefile :)
|
||||
|
||||
name="moxerver"
|
||||
|
||||
include_dir="."
|
||||
src_list="$name.c server.c client.c tty.c telnet.c"
|
||||
|
||||
gcc $src_list -o $name -I $include_dir
|
2
client.c
2
client.c
|
@ -52,7 +52,7 @@ int client_write(struct client_t *client, char *databuf, int datalen) {
|
|||
//TODO let's print received bytes during development phase...
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < len; i++) {
|
||||
for(i = 0; i < datalen; i++) {
|
||||
fprintf(stderr, "client %s -> %u '%c'\n",
|
||||
client->ip_string,
|
||||
(unsigned char) databuf[i],
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "moxerver.h"
|
||||
#include <unistd.h> /* getopt() */
|
||||
|
||||
|
||||
#define SERVER_WAIT_TIMEOUT 10 /* seconds for select() timeout in server loop */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
|
|
8
server.c
8
server.c
|
@ -41,7 +41,7 @@ int server_setup(struct server_t *server, unsigned int port) {
|
|||
|
||||
/* check port assignment */
|
||||
namelen = sizeof(server->address);
|
||||
if (getsockname(server->socket, (struct sockaddr *) &server->address, &namelen) == -1) {
|
||||
if (getsockname(server->socket, (struct sockaddr *) &server->address, (socklen_t *) &namelen) == -1) {
|
||||
fprintf(stderr, "[%s:%d] error %d: %s\n", __func__, __LINE__, errno, strerror(errno));
|
||||
return -errno;
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ int server_accept(struct server_t *server, struct client_t *accepted_client) {
|
|||
|
||||
/* accept connection request */
|
||||
namelen = sizeof(accepted_client->address);
|
||||
accepted_client->socket = accept(server->socket, (struct sockaddr *) &accepted_client->address, &namelen);
|
||||
accepted_client->socket = accept(server->socket, (struct sockaddr *) &accepted_client->address, (socklen_t *) &namelen);
|
||||
if (accepted_client->socket == -1) {
|
||||
fprintf(stderr, "[%s:%d] error %d: %s\n", __func__, __LINE__, errno, strerror(errno));
|
||||
return -errno;
|
||||
|
@ -106,13 +106,13 @@ int server_reject(struct server_t *server) {
|
|||
|
||||
/* accept connection request */
|
||||
namelen = sizeof(rclient.address);
|
||||
rclient.socket = accept(server->socket, (struct sockaddr *) &rclient.address, &namelen);
|
||||
rclient.socket = accept(server->socket, (struct sockaddr *) &rclient.address, (socklen_t *) &namelen);
|
||||
/* send reject message */
|
||||
sprintf(reject_msg, "[%s]: port %u is already being used\n", __func__, server->port);
|
||||
send(rclient.socket, reject_msg, strlen(reject_msg), 0);
|
||||
/* close connection */
|
||||
close(rclient.socket);
|
||||
|
||||
fprintf(stderr, "[%s]: rejected new client request, there is alredy a client connected\n", __func__, server->port);
|
||||
fprintf(stderr, "[%s]: rejected new client request, there is alredy a client connected\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue