#
# $Id: Makefile,v 0.4 2002/09/29 08:32:49 nicb Exp $
#
CC=gcc
ROLLER_TARGET=roller
RIM_TARGET=roller_rim
COMMON_OBJS=$(TABLES:.c=.o) roller_table_mgr.o roller_plot.o
ROLLER_OBJS=roller.o $(COMMON_OBJS)
RIM_OBJS=roller_rim.o $(COMMON_OBJS)
TABLES=roller_tables.c
PLOT=roller_plot.eps
PLSOURCES=Roller.pm table_maker.pl plot_maker.pl
ROLLER_PLUGIN=$(ROLLER_TARGET).pd_linux
RIM_PLUGIN=$(RIM_TARGET).pd_linux
INCLUDE=-I/usr/local/include
OPTIM = -O2 -funroll-loops -fomit-frame-pointer
DEBUG = -g
PROFILE = 
PARANOID = -Wall -W -Wshadow -Wstrict-prototypes -Werror \
    -Wno-unused -Wno-parentheses -Wno-switch
DEFINES=-DHAS_POPEN
CFLAGS= $(INCLUDE) $(DEFINES) $(OPTIM) $(PARANOID) $(PROFILE) $(XCFLAGS)

all:	$(OBJS) $(PLOT) $(ROLLER_PLUGIN) $(RIM_PLUGIN)

$(ROLLER_PLUGIN):	$(ROLLER_OBJS)
	$(LD) $(LDFLAGS) -export_dynamic -shared -o $@ $(ROLLER_OBJS) -lm -lc

$(RIM_PLUGIN):	$(RIM_OBJS)
	$(LD) $(LDFLAGS) -export_dynamic -shared -o $@ $(RIM_OBJS) -lm -lc

plot:	$(PLOT)

$(PLOT):	$(PLSOURCES)
	./plot_maker.pl > $@

roller_tables.c:	$(PLSOURCES)
	./table_maker.pl > $@

clean:
	$(RM) $(ROLLER_OBJS) $(PLOT) $(ROLLER_PLUGIN) $(TABLES) \
		$(RIM_PLUGIN) $(RIM_OBJS)

$(OBJS):	roller.h
