Просто убедитесь, что ваша цель Makefile не удаляет исполняемый файл и содержит символы отладки.
Это означает, что строка gcc
не должна содержать -s
и должна содержать -g
Примером такого простого Makefile будет:
TARGET = YOUR_EXECUTABLE_NAME
SOURCES = $(shell echo *.c)
HEADERS = $(shell echo *.h)
prefix = /usr/local
bindir = $(prefix)/bin
all: $(TARGET)
debug: CFLAGS += -g -O0 -Wall -Wextra
debug: $(TARGET)
$(TARGET): $(SOURCES) $(HEADERS)
$(CC) $(CFLAGS) $(DEFS) -o $(TARGET) $(SOURCES) $(LIBS)
install: $(TARGET)
install -s -D $(TARGET) $(DESTDIR)$(bindir)/$(TARGET)
uninstall:
rm -f $(DESTDIR)$(bindir)/$(TARGET)
clean:
rm -f $(TARGET)
distclean: clean
.PHONY : all debug install uninstall clean distclean