You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TermTCP/Makefile_CLI

66 lines
1.5 KiB

# TermTCP CLI - Makefile
# Simple command-line TCP client
CC = gcc
CFLAGS = -Wall -Wextra -O2 -std=gnu99
LDFLAGS = -lm -lncurses
TARGET = termtcp
SOURCE = termtcp_cli.c
OBJECT = $(SOURCE:.c=.o)
# Default target
all: $(TARGET)
# Build executable
$(TARGET): $(OBJECT)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
@echo "Build complete: $(TARGET)"
@ls -lh $(TARGET)
# Compile
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# Debug build
debug: CFLAGS += -g -O0 -DDEBUG
debug: clean $(TARGET)
@echo "Debug build complete"
# Run the application
run: $(TARGET)
./$(TARGET)
# Clean
clean:
rm -f $(OBJECT) $(TARGET)
@echo "Clean complete"
# Install to system
install: $(TARGET)
install -m 755 $(TARGET) /usr/local/bin/
@echo "Installed $(TARGET) to /usr/local/bin/"
# Uninstall from system
uninstall:
rm -f /usr/local/bin/$(TARGET)
@echo "Uninstalled $(TARGET)"
# Static analysis (if available)
lint:
@which cppcheck > /dev/null && cppcheck --quiet $(SOURCE) || echo "cppcheck not found"
# Help
help:
@echo "TermTCP CLI Build Targets:"
@echo " make - Build the application"
@echo " make debug - Build with debug symbols"
@echo " make run - Build and run"
@echo " make clean - Remove build artifacts"
@echo " make install - Install to /usr/local/bin/"
@echo " make uninstall - Remove from /usr/local/bin/"
@echo " make lint - Run static analysis"
@echo " make help - Show this message"
.PHONY: all debug run clean install uninstall lint help

Powered by TurnKey Linux.