all: ../bin/pd ../bin/pd-gui

VPATH=../obj

INCLUDE = -I. -I../tk/generic -I../tcl/generic
GLIB = ../tk/unix/libtk8.0.a ../tcl/unix/libtcl8.0.a -lm -lX11
LIB = -laudio -lmd -lm
CFLAGS = -O2 -w2 -fullwarn -DUNIX -DIRIX -DPD

SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
    g_scalar.c \
    m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c \
    m_conf.c m_glob.c m_stamp.c m_sched.c \
    s_main.c s_inter.c s_sgi.c s_unix.c s_file.c s_print.c \
    s_loader.c s_entry.c \
    d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c \
    d_math.c d_fft.c d_mayer_fft.c d_fftroutine.c d_array.c d_global.c \
    d_delay.c x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \
    x_time.c x_acoustics.c x_net.c

OBJ = $(SRC:.c=.o)

GSRC =  t_main.c t_tkcmd.c

GOBJ = $(GSRC:.c=.o)
.PHONY: pd gui

.c.o:
	cc $(CFLAGS) $(INCLUDE) -c -o $(VPATH)/$*.o $*.c |& head -20

pd: ../bin/pd

gui: ../bin/pd-gui

../bin/pd: $(OBJ)
	cd ../obj; cc $(INCLUDE) -o ../bin/pd $(OBJ) \
	$(LIB)

../bin/pd-gui: $(GOBJ)
	cd ../obj; cc $(INCLUDE) -o ../bin/pd-gui $(GOBJ) \
	$(GLIB) -lm -lX11

tags: $(SRC) $(GSRC); ctags *.[ch]

depend:; cc -M $(CFLAGS) $(INCLUDE) $(SRC) > makefile.dependencies

include makefile.dependencies

