#
# Makefile for GUS low level driver (Linux version)
# Copyright (c) 1994-97 by Jaroslav Kysela (Perex soft)
#

.EXPORT_ALL_VARIABLES:

ifndef ARCH_COPTS
ARCH_COPTS = -O2 -g
#CFLAGS	= -D__SMP__
else
CFLAGS	=
endif

CC	= gcc
INCLUDE = -I/usr/src/linux/include 
CFLAGS  += -DLINUX $(FLAGS)
COPTS   = -Wall -Wstrict-prototypes $(ARCH_COPTS) -fomit-frame-pointer -pipe

ifdef ARCH_MP_SMP
CFLAGS	+= -D__SMP__
endif

OBJECTS = device_linux.o \
          gus_io.o gus_irq.o \
          gf1_engine.o gf1_simple.o gf1_patch.o gf1_interwave.o \
	  gf1_synth.o gf1_timer.o gf1_reset.o gf1_memory.o gf1_utils.o gf1_lfo.o gf1_effects.o gf1_daemon.o gf1_control.o \
          init.o mixer.o \
          pcm.o gf1_pcm.o codec_pcm.o \
	  midi.o midi_cmd.o gf1_midi.o gf1_uart.o \
          memory.o info.o sequencer.o

.c.o:
	$(CC) $(COPTS) $(CFLAGS) $(INCLUDE) -c -o $*.o $<

all: gus.o
	@echo
	@echo "GUS driver was sucessfully compiled."
	@echo

gus.o: .depend version.h $(OBJECTS)
	ld -dc -r -o $@ $(OBJECTS)
	ls -l gus.o

gcompile: gus.o

insert: gus.o
	sync		# for sure - debug versions may hang
	../insgus/insgus -a -m -f ../insgus/gus.debug.conf -o gus.o \
			-d ../daemon/gusd -c ../daemon/gus-midi-gf1.conf > gus.map1
	awk "{ if ( length( $$1 ) != 0 ) print $$1 }" gus.map1 | sort -o gus.map
#	/usr/sbin/klogd -i
	/sbin/lsmod

ainsert: gus.o
	sync		# for sure - debug versions may hang
	- rmmod gus
	insmod gus
	lsmod

clean:
	rm -f core .depend *.o *.orig gus_cfg.h version.h gus.map gus.map? *~

.depend: version.h
	$(CPP) $(CFLAGS) $(INCLUDE) -M *.c > .depend

version.h: ../../../.revision
	@rev=`cat ../../../.revision` ; \
	echo "#define GUS_VERSION \"$$rev\"" > version.h

dep:	.depend

dummy:

#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif
