-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmakefile
85 lines (67 loc) · 2.51 KB
/
makefile
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#
# Makefile for libdigibooster3
#
# Commons
CFLAGS = -W -Wall -O2 -g -Wpointer-arith -Wno-parentheses
CFLAGS += -fno-strict-aliasing -fno-builtin -I../include/ -L./
OBJS = loader.o player.o
OBJS += dsp_wavetable.o dsp_linresampler.o dsp_fetchinstr.o dsp_panoramizer.o dsp_echo.o dsp_zeropadder.o
DOC = libdigibooster3.txt
LIB = libdigibooster3.a
TOOLS = dbminfo dbm2wav
################################################################################
.PHONY: clean mos os3 os4 linux
default:
@echo "Available targets:"
@echo " mos (morphos/ppc)"
@echo " os3 (amigaos3/m68k)"
@echo " os4 (amigaos4/ppc)"
@echo " linux (linux/generic)"
@echo " clean (deletes objects and executables)"
clean:
rm -vf *.o $(LIB) $(DOC) $(TOOLS)
os3: CC = m68k-amigaos-gcc
os3: AR = m68k-amigaos-ar
os3: CFLAGS += -fbaserel -m68030 -DTARGET_AMIGAOS3 -noixemul
os3: $(LIB) $(TOOLS)
os4: CC = ppc-amigaos-gcc
os4: AR = ppc-amigaos-ar
os4: CFLAGS += -D__USE_INLINE__ -DTARGET_AMIGAOS4
os4: $(LIB) $(TOOLS)
mos: CC = ppc-morphos-gcc-4
mos: AR = ar
mos: CFLAGS += -DUSE_INLINE_STDARG -DTARGET_MORPHOS -noixemul
mos: $(LIB) $(DOC) $(TOOLS)
linux: CC = gcc
linux: AR = ar
linux: CFLAGS += -DTARGET_LINUX
linux: $(LIB) $(TOOLS)
################################################################################
$(LIB): $(OBJS)
$(AR) rs $@ $(OBJS)
dbminfo: $(LIB) dbminfo.o
@echo "Building $@..."
@$(CC) $(CFLAGS) -o dbminfo dbminfo.o -ldigibooster3
@strip dbminfo
dbm2wav: $(LIB) dbm2wav.o
@echo "Building $@..."
@$(CC) $(CFLAGS) -o dbm2wav dbm2wav.o -ldigibooster3
@strip dbm2wav
$(DOC): loader.c player.c
cat $^ >tempfile
robodoc tempfile $@ TABSIZE 4 TOC SORT ASCII
rm tempfile
%.o: %.c
@echo "Compiling $@..."
@$(CC) -c $(CFLAGS) -o $@ $<
################################################################################
dbm2wav.o: dbm2wav.c libdigibooster3.h musicmodule.h
dbminfo.o: dbminfo.c libdigibooster3.h musicmodule.h
ddsp_echo.o: dsp_echo.c libdigibooster3.h musicmodule.h dsp.h lists.h
dsp_fetchinstr.o: dsp_fetchinstr.c libdigibooster3.h musicmodule.h dsp.h lists.h
dsp_linresampler.o: dsp_linresampler.c libdigibooster3.h musicmodule.h dsp.h lists.h
dsp_panoramizer.o: dsp_panoramizer.c libdigibooster3.h musicmodule.h dsp.h lists.h
dsp_wavetable.o: dsp_wavetable.c libdigibooster3.h musicmodule.h dsp.h lists.h
dsp_zeropadder.o: dsp_zeropadder.c libdigibooster3.h musicmodule.h dsp.h lists.h
loader.o: loader.c libdigibooster3.h musicmodule.h
player.o: player.c libdigibooster3.h musicmodule.h dsp.h lists.h player.h