# Makefile для сборки OFDM-приёмника и передатчика для PlutoSDR CC = gcc CFLAGS = -Wall -O2 LDFLAGS = -liio -lliquid -lfftw3f -lm -lpthread TX_BIN = transmitter RX_BIN = receiver TX_SRC = transmitter.c RX_SRC = receiver.c TX_EXISTS := $(shell test -f $(TX_SRC) && echo 1 || echo 0) RX_EXISTS := $(shell test -f $(RX_SRC) && echo 1 || echo 0) ifeq ($(TX_EXISTS),1) TARGETS += $(TX_BIN) endif ifeq ($(RX_EXISTS),1) TARGETS += $(RX_BIN) endif all: $(TARGETS) @echo "Готово: $(TARGETS)" $(TX_BIN): $(TX_SRC) common.c common.h $(CC) $(CFLAGS) -o $@ $(TX_SRC) common.c $(LDFLAGS) @echo " ✓ $(TX_BIN) собран" $(RX_BIN): $(RX_SRC) common.c common.h $(CC) $(CFLAGS) -o $@ $(RX_SRC) common.c $(LDFLAGS) @echo " ✓ $(RX_BIN) собран" test: python3 -c "import struct; f=open('test_input.bin','wb'); [f.write(struct.pack('B', i%256)) for i in range(1048576)]; f.close()" @ls -lh test_input.bin clean: rm -f $(TX_BIN) $(RX_BIN) *.o test_input.bin output.bin help: @echo "Цели:" @echo " make — сборка всего, что есть" @echo " make test — создать тестовый файл 1 МБ" @echo " make clean — удалить всё собранное" .PHONY: all test clean help