# Makefile for the Linux sound card driver
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now inherited from the
# parent makes. (hopefully)
#
#

.c.s:
	$(CC) $(CFLAGS) -S $<
.s.o:
	$(AS) -c -o $*.o $<
.c.o:
	$(CC) $(CFLAGS) -c $<

KERNDIR=/usr/src/linux/tools
LOAD_ADDR = 0140b000
#CFLAGS =-Wall -m486 -O6 -fomit-frame-pointer# -DLOADADDR=0x$(LOAD_ADDR)

LOADOBJS   = soundcard.o dsp.o audio.o dmabuf.o sb_dsp.o dev_table.o \
	 ym3812.o sequencer.o midibuf.o sb_card.o pas2_card.o adlib_card.o \
	 pas2_pcm.o pas2_mixer.o pas2_midi.o
#OBJS   = sound_mem.o
OBJS	= $(LOADOBJS)

all:	sound.a

#Note! The loadable version (make load) of this driver is not currently supported
load:	loadsound.a sounddrv soundload

sounddrv:	sounddrv.o loadsound.a $(KERNDIR)/kcrt0.o $(KERNDIR)/ksyms.o
	ld -T $(LOAD_ADDR) $(KERNDIR)/kcrt0.o sounddrv.o loadsound.a $(KERNDIR)/ksyms.o -o sounddrv

sound.a: $(OBJS) 
	$(AR) rcs sound.a $(OBJS)
	sync

loadsound.a: $(LOADOBJS) 
	$(AR) rcs loadsound.a $(LOADOBJS)
	sync

clean:
	rm -f core *.o *.a tmp_make *.BAK *.BA *.B
	rm -f soundload sounddrv configure
	for i in *.c;do rm -f `basename $$i .c`.s;done

indent:
	for n in *.c;do echo indent $$n;indent $$n;done

local.h: ../../../.config
	make trueconf

config:
	-@if [ -n "$(CONFIG_SOUND)" ] ;then make trueconf; else echo "#undef KERNEL_SOUNDCARD" > local.h; fi

trueconf: configure
	@./configure > local.h

clrconf:
	rm local.h .depend

dep:
	$(CPP) -M *.c > .depend

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