2022-06-16 09:28:07 +00:00
|
|
|
BUILD_DIR = .build
|
2018-10-18 07:42:43 +00:00
|
|
|
|
2022-06-26 07:47:46 +00:00
|
|
|
FT8_SRC = $(wildcard ft8/*.c)
|
|
|
|
FT8_OBJ = $(patsubst %.c,$(BUILD_DIR)/%.o,$(FT8_SRC))
|
2018-11-01 14:21:40 +00:00
|
|
|
|
2022-06-16 09:28:07 +00:00
|
|
|
COMMON_SRC = $(wildcard common/*.c)
|
|
|
|
COMMON_OBJ = $(patsubst %.c,$(BUILD_DIR)/%.o,$(COMMON_SRC))
|
2018-12-22 14:09:43 +00:00
|
|
|
|
2022-06-26 07:47:46 +00:00
|
|
|
FFT_SRC = $(wildcard fft/*.c)
|
|
|
|
FFT_OBJ = $(patsubst %.c,$(BUILD_DIR)/%.o,$(FFT_SRC))
|
2022-06-16 09:28:07 +00:00
|
|
|
|
2022-06-26 07:47:46 +00:00
|
|
|
TARGETS = gen_ft8 decode_ft8 test_ft8
|
2018-11-01 14:21:40 +00:00
|
|
|
|
2022-06-26 07:47:46 +00:00
|
|
|
CFLAGS = -fsanitize=address -O3 -ggdb3
|
|
|
|
CPPFLAGS = -std=c11 -I.
|
|
|
|
LDFLAGS = -fsanitize=address -lm
|
2018-11-01 14:21:40 +00:00
|
|
|
|
2022-06-26 07:47:46 +00:00
|
|
|
# Optionally, use Portaudio for live audio input
|
|
|
|
ifdef PORTAUDIO_PREFIX
|
|
|
|
CPPFLAGS += -DUSE_PORTAUDIO -I$(PORTAUDIO_PREFIX)/include
|
|
|
|
LDFLAGS += -lportaudio -L$(PORTAUDIO_PREFIX)/lib
|
|
|
|
endif
|
2018-11-07 13:50:55 +00:00
|
|
|
|
2022-06-16 09:28:07 +00:00
|
|
|
.PHONY: all clean run_tests install
|
2018-11-07 13:50:55 +00:00
|
|
|
|
2022-06-16 09:28:07 +00:00
|
|
|
all: $(TARGETS)
|
2018-12-22 14:09:43 +00:00
|
|
|
|
|
|
|
clean:
|
2022-06-16 09:28:07 +00:00
|
|
|
rm -rf $(BUILD_DIR) $(TARGETS)
|
|
|
|
|
|
|
|
run_tests: test_ft8
|
|
|
|
@./test_ft8
|
|
|
|
|
2021-01-13 09:44:19 +00:00
|
|
|
install:
|
2022-06-16 09:28:07 +00:00
|
|
|
$(AR) rc libft8.a $(FT8_OBJ) $(COMMON_OBJ)
|
2021-01-13 09:44:19 +00:00
|
|
|
install libft8.a /usr/lib/libft8.a
|
2022-06-16 09:28:07 +00:00
|
|
|
|
|
|
|
gen_ft8: $(BUILD_DIR)/demo/gen_ft8.o $(FT8_OBJ) $(COMMON_OBJ) $(FFT_OBJ)
|
|
|
|
$(CC) $(LDFLAGS) -o $@ $^
|
|
|
|
|
|
|
|
decode_ft8: $(BUILD_DIR)/demo/decode_ft8.o $(FT8_OBJ) $(COMMON_OBJ) $(FFT_OBJ)
|
|
|
|
$(CC) $(LDFLAGS) -o $@ $^
|
|
|
|
|
|
|
|
test_ft8: $(BUILD_DIR)/test/test.o $(FT8_OBJ)
|
|
|
|
$(CC) $(LDFLAGS) -o $@ $^
|
|
|
|
|
|
|
|
$(BUILD_DIR)/%.o: %.c
|
|
|
|
@mkdir -p $(dir $@)
|
|
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $^
|