# Makefile for jazz

include ../make.env


all : $(GUI)/jazz


$(GUI)/depend:
	if test -d $(GUI); then true; else mkdir $(GUI); fi
	$(CXX) $(DEFINES) $(INC) -MM *.cpp | sed 's/^[a-zA-Z0-9_][^.]*/$(GUI)\/&/' > $(GUI)/depend


OBJ1 =  $(GUI)/alsathru.o $(GUI)/alsaplay.o \
	$(GUI)/eventlst.o $(GUI)/arpeggio.o $(GUI)/genmeldy.o $(GUI)/genmeldp.o \
	$(GUI)/shuffle.o $(GUI)/synth.o $(GUI)/mapper.o \
	$(GUI)/hbanalyz.o $(GUI)/toolbar.o \
	$(GUI)/harmonyp.o $(GUI)/harmony.o \
	$(GUI)/guitar.o $(GUI)/ctrledit.o $(GUI)/dynarray.o $(GUI)/random.o \
	$(GUI)/rhythm.o $(GUI)/pianowin.o $(GUI)/player.o $(GUI)/eventwin.o \
	$(GUI)/trackwin.o $(GUI)/jazz.o $(GUI)/events.o $(GUI)/track.o \
	$(GUI)/song.o $(GUI)/mstdfile.o $(GUI)/util.o $(GUI)/dialogs.o \
	$(GUI)/maction.o $(GUI)/filter.o $(GUI)/command.o \
	$(GUI)/gs_dlg1.o $(GUI)/gs_dlg2.o \
	$(GUI)/about.o \
	$(GUI)/sampldlg.o $(GUI)/sig2.o $(GUI)/freqtab.o \
	$(GUI)/slidrwin.o \
	$(GUI)/samplcmd.o $(GUI)/samplwin.o \
	$(GUI)/sample.o $(GUI)/audio.o \
	$(GUI)/audiodrv.o


OBJ2 = 	$(GUI)/midinet.o $(GUI)/midi_p_xdr.o $(ADDOBJS)

midi_p.x: ../midinetd/midi_p.x
	ln -s ../midinetd/midi_p.x .
	rm -f midi_p.h midi_p_xdr.c midi_p_clnt.c
	rpcgen -h midi_p.x > midi_p.h
	rpcgen -c midi_p.x > midi_p_xdr.c
	rpcgen -l midi_p.x > midi_p_clnt.c

midi_p.h: midi_p.x
	rpcgen -h midi_p.x > midi_p.h

midi_p_xdr.c: midi_p.x
	rpcgen -c midi_p.x > midi_p_xdr.c

midi_p_clnt.c: midi_p.x
	rpcgen -l midi_p.x > midi_p_clnt.c

$(GUI)/midi_p_xdr.o: midi_p_xdr.c midi_p.h

$(GUI)/midinet.o: midinet.c midi_p.h midi_p_clnt.c

$(OBJ1) : $(GUI)/%.o : %.cpp
	$(CXX) -c $(CFLAGS) $(DEFINES) $(INC) $< -o $@

$(OBJ2) : $(GUI)/%.o : %.c
	$(CXX) -c $(CFLAGS) $(DEFINES) $(INC) $< -o $@

$(GUI)/jazz : $(OBJ1) $(OBJ2)
	$(LD) $(LFLAGS) -o $@ $^ $(LIB)

clean:
	rm -rf $(GUI) midi_p.x midi_p.h midi_p_xdr.c midi_p_clnt.c *.o errlist core *.jzi .jazz

include $(GUI)/depend

