+− CC = gcc -g -ggdb +− CFLAGS = -Wall -O2 -Iinclude +− LDFLAGS = +− NASM = nasm -f elf -Iinclude/ +− TARGET = stackinfo +−OBJECTS = main.o +−OBJECTS += get_sp.o +− +−.SUFFIXES: .c .asm +− +−.c.o: +− @echo Compiling $< ... +− @$(CC) -c $(CFLAGS) -o $@ $< +− +−.asm.o: +− @echo Assembling $< ... +− @$(NASM) $< -o $@ +− +−all: $(TARGET) decimal +− +−$(TARGET): $(OBJECTS) +− @echo Linking $(OBJECTS) ... +− @$(CC) $(LDFLAGS) $(OBJECTS) -o $@ +− +−decimal: decimal.o +− $(CC) $(CFLAGS) -o $@ $< +− +−.PHONY: clean uninstall +− +−clean: +− rm -f $(TARGET) decimal *.o *~ +− +−install: $(TARGET) decimal +− install -d ~/bin +− install $(TARGET) decimal ~/bin +− +−uninstall: +− rm -f ~/bin/decimal +− rm -f ~/bin/$(TARGET)