1# GNU Makefile to build for AmigaOS variants using VBCC
2#
3# make amigaos  : build for m68k-amigaos
4
5# for now, only tested for m68k-amigaos:
6AOS3 := 1
7
8# The tools
9CC=vc
10#MKLIB=join $(LIB_OBJ) as WildMidi.lib
11MKLIB=cat $(LIB_OBJ) > WildMidi.lib
12
13INCLUDE = -I. -I../include
14CFLAGS  = -O1 -speed -c99
15CFLAGS += $(INCLUDE)
16LDFLAGS = -L. -lWildMidi
17
18ifeq ($(MORPHOS),1)
19include vbcc_morphos.cfg
20endif
21ifeq ($(AOS3),1)
22include vbcc_aos3.cfg
23endif
24ifeq ($(AOS4),1)
25include vbcc_aos4.cfg
26endif
27
28# Build rules
29%.o: %.c
30	$(CC) -c $(CFLAGS) -o $@ $<
31%.o: ../src/%.c
32	$(CC) -c $(CFLAGS) -o $@ $<
33
34# Objects
35LIB_OBJ= wm_error.o file_io.o lock.o wildmidi_lib.o reverb.o gus_pat.o f_xmidi.o f_mus.o f_hmp.o f_midi.o f_hmi.o mus2mid.o xmi2mid.o internal_midi.o patches.o sample.o
36PLAYER_OBJ= getopt_long.o wm_tty.o amiga.o wildmidi.o
37
38# Build targets
39.PHONY: clean distclean
40all: WildMidi.lib wildmidi
41
42WildMidi.lib: $(LIB_OBJ)
43	$(MKLIB)
44
45wildmidi: WildMidi.lib $(PLAYER_OBJ)
46	$(CC) -o $@ $(PLAYER_OBJ) $(LDFLAGS)
47
48amigaos:
49	@echo Building for m68k-amigaos
50	$(MAKE) -f Makefile.vbcc AOS3=1
51amigaos4:
52	@echo Building for ppc-amigaos4
53	$(MAKE) -f Makefile.vbcc AOS4=1
54morphos:
55	@echo Building for ppc-morphos
56	$(MAKE) -f Makefile.vbcc MORPHOS=1
57
58clean:
59	rm -rf $(LIB_OBJ) $(PLAYER_OBJ)
60distclean: clean
61	rm -rf libWildMidi.a WildMidi.lib wildmidi
62