#  $Id: Makefile.in,v 5.3 2001/03/11 18:16:05 lcs Exp $
#
#  Makefile.in for the AHI preferences program
#


#
# Autoconfig stuff
########################################

@SET_MAKE@

VPATH		= @srcdir@

top_srcdir	= @top_srcdir@
srcdir		= @srcdir@
prefix		= @prefix@
DISTDIR		= @DISTDIR@
DEVSDIR		= ${DISTDIR}/User/Devs
CATDIR		= ${DISTDIR}/User/Catalogs

build_os	= @build_os@
host_cpu	= @host_cpu@

CC		= @CC@
AS		= @AS@
AR              = @AR@
RANLIB          = @RANLIB@

CPPFLAGS	= @CPPFLAGS@ -I${top_srcdir} -I${srcdir}
CFLAGS		= @CFLAGS@
ASFLAGS		= @ASFLAGS@
LDFLAGS		= @LDFLAGS@ -nostartfiles
ARFLAGS         = @ARFLAGS@

LIBS		= @LIBS@

ASM		= @ASM@
ASMFLAGS	= I INCLUDE:,@srcdir@ SYMDEBUG LINEDEBUG \
		  QUIET NOEXE OPT NRQBPSMD

TARGET		= ahi.device

ifeq ($(strip $(ASM)),)
ASM		= @echo 'No suitable assembler found; cannot make $@!'; false \#
endif

INSTALL		= @INSTALL@
INSTALL_PROGRAM	= @INSTALL_PROGRAM@
INSTALL_DATA	= @INSTALL_DATA@

FLEXCAT		= @FLEXCAT@
MAKEDEPEND	= @MAKEDEPEND@

ifeq ($(strip $(FLEXCAT)),)
FLEXCAT		= @echo 'FlexCat not found; cannot make $@!'; false \#
endif

ENABLE_WARPUP	= @ENABLE_WARPUP@

#
# Files
########################################

LANGUAGES	= $(notdir $(basename $(wildcard $(srcdir)/translations/*.ct)))
CATALOGS	= $(addsuffix .catalog, $(LANGUAGES))

OBJECTS		= header.o gateway.o device.o devcommands.o \
		  localize.o modeinfo.o requester.o database.o debug.o\
		  audioctrl.o effectinit.o sound.o misc.o\
		  mixer.o 

ifeq ($(ENABLE_WARPUP),yes)
OBJECTS		+= elfloader.o warpup.o
endif

ifeq ($(host_cpu),m68k)
OBJECTS		+= devsupp.o addroutines_68k.o
endif

ifeq ($(host_cpu),ppc)
OBJECTS		+= addroutines_ppc.o
endif


#
# Targets
########################################

.PHONY:		all mostlyclean clean distclean maintainer-clean\
		install revup bindist bindist-install


all:		$(TARGET) $(srcdir)/ahi.ct $(CATALOGS)

mostlyclean:
	$(RM) $(TARGET) *.o *.a *.bak *~ \#*\# core Makefile.dep

clean:		mostlyclean
	$(RM) $(CATALOGS) localize.c localize.h version.h \

distclean:	clean
	$(RM) Makefile

maintainer-clean: distclean

install:	all
	$(INSTALL_PROGRAM) $(TARGET) $(PREFIX)/Devs/$(TARGET)

revup:
	@rev=`cat $(srcdir)/version.rev` && echo `expr $$rev + 1` > $(srcdir)/version.rev
	@date +%d.%m.%y > $(srcdir)/version.date
	@echo -n "New revision: "
	@cat $(srcdir)/version.rev

bindist:	all
	$(INSTALL) --directory $(CATDIR)
	$(INSTALL_DATA) ${srcdir}/ahi.cd $(CATDIR)
	$(INSTALL_DATA) ${srcdir}/ahi.ct $(CATDIR)
	for i in $(LANGUAGES); do \
	  $(INSTALL) --directory $(CATDIR)/$$i; \
	  $(INSTALL_DATA) $$i.catalog $(CATDIR)/$$i/ahi.catalog; \
	done

	$(INSTALL) --directory $(DEVSDIR)

	$(INSTALL_PROGRAM) --strip $(TARGET) $(DEVSDIR)/$(TARGET)


#
# Auto-remake autoconf stuff
########################################

Makefile: Makefile.in ../config.status
	(cd .. && ./config.status)


#
# Rules
########################################

%.o:	%.s
	gasp $< | $(AS) $(ASFLAGS) -o $@
	#$(AS) $(ASFLAGS) $< -o $@

asmfuncs.o devsupp.o:
	$(ASM) $(ASMFLAGS) $< TO $@

$(TARGET):		$(OBJECTS) libaddroutines.a
	$(CC) $(LDFLAGS) $^ $(LIBS) -o $@

libaddroutines.a:	addroutines_hifi.o addroutines_lofi.o dspecho.o
	$(AR) $(ARFLAGS) $@ $^
	$(RANLIB) $@

version.h:	version.rev version.date
	@echo Creating $@
	@ver=`cat $(top_srcdir)/version.ver` \
	 rev=`cat $(srcdir)/version.rev` \
	 date=`cat $(srcdir)/version.date` && \
	 echo "#define VERSION $$ver" > $@ && \
	 echo "#define REVISION $$rev" >> $@ && \
	 echo "#define VERS \"$$ver.$$rev ($$date)\"" >> $@

localize.c:		ahi.cd C_c_AHI.sd
	$(FLEXCAT) $(srcdir)/ahi.cd localize.c=$(srcdir)/C_c_AHI.sd 

localize.h:		ahi.cd C_c_AHI.sd
	$(FLEXCAT) $(srcdir)/ahi.cd localize.h=$(srcdir)/C_h_AHI.sd

%.catalog:		translations/%.ct
	$(FLEXCAT) $(srcdir)/ahi.cd $< CATALOG $@

%.ct:
	$(FLEXCAT) $(srcdir)/ahi.cd $@ NEWCTFILE $@

# Just some test code...

elftest:		elftest.o elfloader.o asmfuncs.o
	$(CC) $^ $(LIBS) -o $@


#
# Dependencies
########################################

SOURCES		= $(wildcard $(srcdir)/*.c)
HEADERS		= $(wildcard $(srcdir)/*.h)

ifneq ($(build_os),amigaos)

DEPENDENCIES	= $(SOURCES) $(HEADERS) localize.c localize.h version.h

else
	# The Amiga is way to slow to update the dependencies each time

.PHONY:	depend

depend:
	$(RM) Makefile.dep
	$(MAKE) Makefile.dep
endif

Makefile.dep:	$(DEPENDENCIES)
	@echo Making $@
ifeq ($(MAKEDEPEND),)
	-@$(CC) $(CPPFLAGS) $(CFLAGS) -MM $(SOURCES) > $@
else
	-@touch $@
	-@makedepend -f $@ -I $(srcdir) $(notdir $(SOURCES))
endif

include Makefile.dep

asmfuncs.o:	asmfuncs.s
devsupp.o:	devsupp.s
addroutines_ppc.o:	addroutines_ppc.s
addroutines_68k.o:	addroutines_68k.s

$(wildcard $(srcdir)/translations/*.ct) $(srcdir)/ahi.ct:	ahi.cd
