C++ = g++ LD = g++ RM = rm -f CFLAGS = LFLAGS = TARGET = main SRCS := $(wildcard *.cpp) OBJS := $(patsubst %.cpp,%.o, $(SRCS)) all: $(TARGET) %.o: %.cpp $(C++) -c $(CFLAGS) $< -o $@ $(TARGET): $(OBJS) $(LD) $^ $(LFLAGS) -o $@ clean: $(RM) $(TARGET) $(OBJS) compile_commands: compiledb make -Bn original.pcm: original.flac ./any2s16lepcm $< $@ edit.pcm: original.pcm ./main ./main $< $@ edit.wav: edit.pcm ./s16lepcm2any $< $@ edit.png: edit.wav %.png: %.wav sox $< -n spectrogram -o $@