Skip to content
Snippets Groups Projects
Makefile 983 B
Newer Older
Mans Rullgard's avatar
Mans Rullgard committed
ARCH ?= $(shell uname -m)
-include $(or $(CONFIG),$(ARCH)).mk

MAKEFLAGS += -r

O ?= $(ARCH)
override O := $(O:%=$(O:%/=%)/)

SYSROOT = $(addprefix --sysroot=,$(ROOT))

CC = $(CROSS_COMPILE)gcc $(SYSROOT)
AR = $(CROSS_COMPILE)ar

CPPFLAGS += -MMD
CFLAGS = -O2 -g -Wall $(CPUFLAGS)
LDFLAGS += -Wl,--as-needed
Mans Rullgard's avatar
Mans Rullgard committed
LDLIBS += -lsndfile $(LDLIBS-$(ARCH))
Mans Rullgard's avatar
Mans Rullgard committed

ALL = mqascan mqbgen mqbscan

Mans Rullgard's avatar
Mans Rullgard committed
ALL-arm += mqadec mqarender
LIBOBJ-arm += bluos_ssc.o

ALL += $(ALL-$(ARCH))
Mans Rullgard's avatar
Mans Rullgard committed
ALL := $(ALL:%=$(O)%)
all: $(ALL)

LIBOBJ = bits.o blake2s-ref.o mqa-common.o mqa-keys.o mqbcrc.o sfbits.o
Mans Rullgard's avatar
Mans Rullgard committed
LIBOBJ += $(LIBOBJ-$(ARCH))
Mans Rullgard's avatar
Mans Rullgard committed
LIBOBJ := $(LIBOBJ:%=$(O)%)

LIB = $(O)libmqa.a

$(LIB): $(LIBOBJ)
	$(RM) $@
	$(AR) rcs $@ $^

$(ALL): $(LIB)

Mans Rullgard's avatar
Mans Rullgard committed
$(O)mqadec: LDLIBS += -ldl
$(O)mqarender: LDLIBS += -ldl
$(O)mqascan: LDLIBS += -lgmp

Mans Rullgard's avatar
Mans Rullgard committed
$(O)%.o: %.c | $(O)
	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

$(O)%: $(O)%.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)

$(O):
	@mkdir -p $@

.PHONY: all
.SECONDARY:

-include $(ALL:%=%.d) $(OBJ:.o=.d)