/
Makefile.linux
65 lines (52 loc) · 1.13 KB
/
Makefile.linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Makefile to produce test build of ctrmus for Linux
#
# make -f Makefile.linux
ifeq ($(OS),Windows_NT)
HOST_OS := windows
ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
HOST_ARCH := x86_64
else
HOST_ARCH := i686
endif
else
UNAME_M := $(shell uname -m)
ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 amd64))
HOST_ARCH := x86_64
else ifeq ($(UNAME_M),$(filter $(UNAME_M),i386 i686))
HOST_ARCH := i686
else
$(error "Unsupported host architecture.")
endif
endif
IDIR =./source
CC=gcc
CFLAGS=-I./include/
LIBS=-lsidplay -lmpg123 -lvorbisidec -lopusfile -lopus -logg -lm
ODIR=./build/$(HOST_ARCH)
SDIR=./source
_DEPS = all.h \
file.h \
flac.h \
mp3.h \
opus.h \
vorbis.h \
wav.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
_OBJ = file.o \
flac.o \
mp3.o \
opus.o \
test.o \
vorbis.o \
wav.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
all: directory test
directory:
mkdir -p $(ODIR)
$(ODIR)/%.o: $(SDIR)/%.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
test: $(OBJ)
gcc -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean directory
clean:
rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~