Makefile が通らない

 Bullseye にアップデートした Raspberry Pi で make できない Makefile がありました。以前はできていたのに、どうしてでしょう。

 以下の内容です。

TARGET=block
SRCS=block.c pico.mp3 piro.mp3 readme.txt
OBJS=block.o
SDL2LIBS=-lSDL2_mixer -lSDL2_ttf `pkg-config sdl2 --libs`
CC=gcc
INSTALLDIR=/home/pi/bin
INSTALL=install -s
CFLAGS+=-O3 `pkg-config sdl2 --cflags`
LDFLAGS+=$(SDL2LIBS) -lm

all: $(TARGET)

.c.o:
        $(CC) $(CFLAGS) -c $<

$@: $@.o
        $(CC) -o $@ $@.o $(LDFLAGS)

clean:
        rm -f *.o $(TARGET)

tar: $(TARGET).tar.gz

$(TARGET).tar.gz: Makefile $(SRCS) $(TARGET)
        tar cvfz $@ Makefile $(SRCS) $(TARGET)

install: $(TARGET)
        $(INSTALL) $(TARGET) $(INSTALLDIR)
        cp pico.mp3 piro.mp3 $(INSTALLDIR)

 エラーになるのでしようがないので以下のように修正しました。

TARGET=block
SRCS=block.c pico.mp3 piro.mp3 readme.txt
OBJS=block.o
SDL2LIBS=-lSDL2_mixer -lSDL2_ttf `pkg-config sdl2 --libs`
CC=gcc
INSTALLDIR=/home/pi/bin
INSTALL=install -s
CFLAGS+=-O3 `pkg-config sdl2 --cflags`
LDFLAGS+=$(SDL2LIBS) -lm

all: $(TARGET)

.c.o:
        $(CC) $(CFLAGS) -c $<

block: $(OBJS)
        $(CC) -o $@ $@.o $(LDFLAGS)

clean:
        rm -f *.o $(TARGET)

tar: $(TARGET).tar.gz

$(TARGET).tar.gz: Makefile $(SRCS) $(TARGET)
        tar cvfz $@ Makefile $(SRCS) $(TARGET)

install: $(TARGET)
        $(INSTALL) $(TARGET) $(INSTALLDIR)
        cp pico.mp3 piro.mp3 $(INSTALLDIR)

 関連するファイルを修正してアップロードしました。

Raspberry Pi

Posted by sirius