/*
 * @(#)Imakefile	7.68 04/04/20
 *
 * Imakefile for xmcd
 *
 *	xmcd - Motif(R) CD Audio Player/Ripper
 *
 *   Copyright (C) 1993-2004  Ti Kan
 *   E-mail: xmcd@amb.org
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */

/*
 * If your local X configuration supports Motif correctly, the
 * following LOCAL_LIBRARIES= declaration should work just fine.
 * If it fails, try uncommenting the #include lines below.  If that
 * still fails, then substitute the LOCAL_LIBRARIES= line with
 * one of the these:
 *
 * LOCAL_LIBRARIES= $(XMLIB) $(XTOOLLIB) $(EXTENSIONLIB) $(XLIB)
 *
 * or,
 *
 * LOCAL_LIBRARIES= -lXm -lXt -lXext -lX11
 *
 */

/*
 * #include "Motif.tmpl"
 * #include "Motif.rules"
 */

CDDBLIB= -L../cddb_d -lcddb
LOCAL_LIBDIR= -L/usr/freeware/lib32 -L/usr/local/lib
VORBLIB= -lvorbisenc -lvorbis -logg
FLACLIB= -lFLAC
ENCLIBS= $(LOCAL_LIBDIR) $(FLACLIB) $(VORBLIB)

#if defined(LinuxArchitecture)
/* On Linux the -lc is needed to prevent potential internal symbol
 * name clashes between libc and libstdc++.
 */
SYS_LIBRARIES= -lc $(CDDBLIB) $(ENCLIBS) -lm

/* The following conditional is GNU-make specific:
 * Try to auto-detect ALSA headers and library.
 */
alsalib_incl=	$(wildcard /usr/include/alsa/asoundlib.h)
alsalib_incl+=	$(wildcard /usr/local/include/alsa/asoundlib.h)
ifneq "$(strip $(alsalib_incl))" ""
SYS_LIBRARIES+= -lasound -ldl
endif
#else
#if (defined(SunArchitecture) && OSMajorVersion >= 5)
SYS_LIBRARIES= $(CDDBLIB) $(ENCLIBS) -lm -lposix4
#else
#if defined(OsfArchitecture) || defined(OSF1Architecture)
SYS_LIBRARIES= $(CDDBLIB) $(ENCLIBS) -L/usr/ccs/lib -lmme -liconv -lrt -lm
#else
#if defined(AIXArchitecture)
SYS_LIBRARIES= $(CDDBLIB) $(ENCLIBS) -liconv -lm
#else
#if defined(SGIArchitecture)
SYS_LIBRARIES= $(CDDBLIB) $(ENCLIBS) -laudio -lmediad -lm
#else
SYS_LIBRARIES= $(CDDBLIB) $(ENCLIBS) -lm
#endif	/* IRIX */
#endif	/* AIX */
#endif	/* OSF1 */
#endif	/* Sun5 */
#endif	/* Linux */

LOCAL_LIBRARIES= XmClientLibs

#if defined(FreeBSDArchitecture)
.if exists(/usr/include/camlib.h)
LOCAL_LIBRARIES+= -lcam
.endif
#endif


/**** Optional defines:  Change as you see fit. *****************************
 *
 * -DNO_STDLIB_H
 *	The system does not support <stdlib.h>
 *
 * -DNO_UNISTD_H
 *	The system does not support <unistd.h>
 *
 * -DHAS_ICONV_H (Linux only)
 *	The system has <iconv.h> and the iconv(3) library call.
 *
 * -DHAS_NCURSES_H (BSD/OS only)
 *	The system has <ncurses.h> and the ncurses library.
 *
 * -D_IRIX6
 *	This is a SGI IRIX 6.x system.
 *
 * -D_SCO5
 *	This is a SCO Open Server Release 5 system.
 *
 * -DNO_LABELH
 *	The use of the LabelH widget causes a crash on some X11R5 systems.
 *	Add this to disable the use of the LabelH widget.
 *
 * -DNOREMOTE
 *	Disable the code in xmcd that connects to the MOTD server and
 *	obtains the message of the day and latest upgrade information.
 *
 * -DEDITRES
 *	Enable editres(1) support.  This feature is only effective
 *	when compiling under X11R5 or later.
 *
 * -DUSE_SGI_DESKTOP
 *	Compile xmcd for use with the SGI 4Dwm window manager.  The
 *	XMcd_sgi.ad X resources file should be used in lieu of XMcd.ad 
 *	when xmcd is compiled this way.
 *
 * All other platform-specific feature setup are in common_d/config.h
 *
 */
#if defined(LinuxArchitecture)
/* The following conditional is GNU-make specific */
ifeq "$(wildcard /usr/include/iconv.h)" "/usr/include/iconv.h"
DEFINES= -DHAS_ICONV_H
endif
#else
#if defined(BSDOSArchitecture) || defined(__bsdi__)
.if exists(/usr/include/ncurses.h)
DEFINES= -DHAS_NCURSES_H
.endif
#else
#if defined(SGIArchitecture) && OSMajorVersion >= 6
DEFINES= -D_IRIX6
#else
#if (defined(SCOArchitecture) || defined(i386ScoArchitecture)) && \
    (defined(i386Sco325Architecture) || OSMajorVersion >= 5)
DEFINES= -D_SCO5
#else	/* all others */
DEFINES=
#endif	/* SCO5 */
#endif	/* IRIX6 */
#endif	/* BSD/OS */
#endif	/* Linux */


/*
 * POSIX threads stuff
 */
#if defined(OsfArchitecture) || defined(OSF1Architecture)
THREADS_CFLAGS= -pthread
THREADS_LDFLAGS= -pthread
#endif

#if defined(USLArchitecture) && defined(i386Architecture)
/* UnixWare 7.0.1 and later, Caldera Open UNIX 8 only.
 * Earlier UnixWare versions, SVR4.2/386 and SVR4.0/386, please comment
 * out the following two lines.
 */
THREADS_CFLAGS= -Kpthread
THREADS_LDFLAGS= -Kpthread
#endif

#if defined(SunArchitecture) && OSMajorVersion >= 5
/* Solaris 2.5 and later */
THREADS_DEFINES= -D_REENTRANT
THREADS_LIBS= -lpthread
#endif

#if defined(SGIArchitecture) && HasPosixThreads
/* IRIX 6.3 or later */
THREADS_LIBS= -lpthread
#endif

#if defined(AIXArchitecture) && \
    ((OSMajorVersion == 4 && OSMinorVersion >= 1) || OSMajorVersion > 4)
/* AIX 4.1 and later */
THREADS_DEFINES= -D_THREAD_SAFE=1
THREADS_LIBS= -lpthreads
#endif

#if defined(HPArchitecture) && OSMajorVersion >= 11
/* HP-UX 11.0 and later */
THREADS_DEFINES= -D_POSIX_C_SOURCE=199506
THREADS_LIBS= -lpthread
#endif

#if defined(LinuxArchitecture) && HasPosixThreads
/* Linux with glibc 2.1 or later */
THREADS_DEFINES= -D_REENTRANT
THREADS_LIBS= -lpthread
#endif

#if defined(FreeBSDArchitecture) && HasPosixThreads
/* FreeBSD 4.x and later */
THREADS_CFLAGS= -pthread
THREADS_LDFLAGS= -pthread
#endif


/*
 * Add local include path
 */
INCLUDES=-I..


/*
 * C Source files
 */
SRCS=	callback.c \
	cdfunc.c \
	command.c \
	dbprog.c \
	geom.c \
	help.c \
	hotkey.c \
	main.c \
	userreg.c \
	widget.c \
	wwwwarp.c

/*
 * Objects
 */
#if defined(__QNX__)
OBJS=	callback.o \
	cdfunc.o \
	command.o \
	dbprog.o \
	geom.o \
	help.o \
	hotkey.o \
	main.o \
	userreg.o \
	widget.o \
	wwwwarp.o \
	../labelh_d/LabelH3r.lib \
	../cdinfo_d/cdinfo3r.lib \
	../cddb_d/cddbkey3r.lib \
	../libdi_d/di3r.lib \
	../cdda_d/cdda3r.lib \
	../common_d/util3r.lib
#else
OBJS=	callback.o \
	cdfunc.o \
	command.o \
	dbprog.o \
	geom.o \
	help.o \
	hotkey.o \
	main.o \
	userreg.o \
	widget.o \
	wwwwarp.o \
	../labelh_d/libLabelH.a \
	../cdinfo_d/libcdinfo.a \
	../cddb_d/libcddbkey.a \
	../libdi_d/libdi.a \
	../cdda_d/libcdda.a \
	../common_d/libutil.a
#endif


/*
 * Build rule for the main module
 */
#ifdef InstallProgram
#undef InstallProgram
#define InstallProgram(program, dest)
#endif
#ifdef InstallManPage
#undef InstallManPage
#define InstallManPage(program, dir)
#endif

ComplexProgramTarget(xmcd)


