Better Build Script

This commit is contained in:
2026-04-26 13:53:59 -04:00
parent 8a4812973c
commit 44dbf7813a
2 changed files with 16 additions and 14 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@
netpong netpong
netpong.dSYM/ netpong.dSYM/
netpong.c netpong.c
build/*

View File

@@ -1,32 +1,33 @@
# Compiler and flags # Compiler and flags
CC = gcc CC = gcc
CFLAGS = -Wall -g CFLAGS = -Wall -g
NETPONG_SRC = main.c $(wildcard src/*.c) $(wildcard src/network/*.c)
LIBS = -lncurses LIBS = -lncurses
# Source files
NETPONG_SRC = main.c $(wildcard src/*.c) $(wildcard src/network/*.c)
# Object files # Object files in build/
NETPONG_OBJ = $(NETPONG_SRC:.c=.o) NETPONG_OBJ = $(patsubst %.c,build/%.o,$(NETPONG_SRC))
# Default target # Default target
all: netpong all: netpong
# Build NetPong # Link
netpong: $(NETPONG_OBJ) netpong: $(NETPONG_OBJ)
$(CC) $(CFLAGS) -o netpong $(NETPONG_OBJ) $(LIBS) $(CC) $(CFLAGS) -o $@ $(NETPONG_OBJ) $(LIBS)
# Generic compile rule # Compile rule (FULL PATH match)
%.o: %.c smsh.h varlib.h build/%.o: %.c
$(CC) $(CFLAGS) -c $< @mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c $< -o $@
# Clean up # Clean
clean: clean:
rm -f *.o netpong network/*.o rm -rf build netpong
# Run targets
Server: Server:
./netpong ./netpong 2001
Client: Client:
./netpong -c 127.0.0.1 ./netpong 127.0.0.1 2001