ics_analyzer/src/Makefile

43 lines
798 B
Makefile

CC = gcc
CFLAGS = -Wall -g -O0
LDFLAGS = -luuid
# List of all source files (assuming they're all in the same directory)
SRC_FILES = $(wildcard *.c)
# Generate a list of object files by replacing the .c extension with .o
OBJ_FILES = $(SRC_FILES:.c=.o)
EXECUTABLE = "icscli"
# linking
$(EXECUTABLE): $(OBJ_FILES)
gcc $(CFLAGS) $(OBJ_FILES) -o $(EXECUTABLE) $(LDFLAGS)
main.o: main.c
$(CC) $(CFLAGS) -c $<
# use implicit rule to compile C source files to object files
%.o: %.c %.h
$(CC) $(CFLAGS) -c $<
.PHONY:install
install: $(EXECUTABLE)
cp $(EXECUTABLE) /usr/local/bin/$(EXECUTABLE)
.PHONY:clean
clean:
-rm -f $(EXECUTABLE) *.o
.PHONY:uninstall
uninstall:
-rm /usr/local/bin/$(EXECUTABLE)
.PHONY:test
test:
./$(EXECUTABLE)
@echo
./$(EXECUTABLE) -h
@echo
../tests/run_tests.sh