/*
* Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
* All rights reserved.
*
* $OpenXM: OpenXM_contrib2/asir2000/Imakefile,v 1.17 2001/12/25 02:37:21 noro Exp $
*/
#define RISA_TOP_DIR
#include "include/Risa.tmpl"
#define IHaveSubdirs
#define PassCDebugFlags
#ifdef FreeBSDArchitecture
EXTRALIB=-lcompat
#endif
#ifdef SunArchitecture
EXTRASTDLIB= $(MPILIB) -ldl
#endif
#if defined(AlphaArchitecture) && OSMajorVersion < 4
EXTRASTDLIB=/usr/lib/libots.a
#endif
#if defined(LinuxArchitecture) && DefaultLinuxCLibMajorVersion < 6
LIBCLIB=/usr/lib/libc.a -lm
#else
LIBCLIB=-lm
#endif
#if defined(USE_PLOT)
#ifdef FreeBSDArchitecture
LOCAL_LIBRARIES = -L/usr/X11R6/lib XawClientLibs $(XWCHARLIB)
#else
LOCAL_LIBRARIES = -L/usr/openwin/lib XawClientLibs $(XWCHARLIB)
#endif
DEPLIBS = XawClientDepLibs
#else
LOCAL_LIBRARIES =
DEPLIBS =
#endif
PLIB = parse/libparse.a
GLIB = gc5.3/libasir-gc.a
ELIB = engine/libca.a
FLIB=fft/libdft.a
ALIB = asm/libasm.a
IOLIB = io/libio.a
BLIB = builtin/libfunc.a
#ifdef USE_PLOT
PLLIB = plot/libplot.a
#else
PLLIB =
#endif
#if defined(cygwinArchitecture)
PROGRAMS = asir.exe
#else
PROGRAMS = asir
#endif
TOBJ = parse/main.o $(FOBJ)
UOBJ = parse/umain.o $(FOBJ)
SUBDIRS = engine fft asm gc5.3 parse builtin io plot lib include
LIBS0 = $(BLIB) $(PLIB) $(IOLIB) $(PLLIB) $(ELIB) $(FLIB) $(ALIB)
LIBS = $(LIBS0) $(GLIB)
PILIBS = $(IOLIB) $(GLIB) $(ELIB) $(FLIB) $(ALIB)
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
#if 0
AllTarget($(PROGRAMS) asir.o)
#else
AllTarget($(PROGRAMS) $(LIBRARIES))
#endif
#ifndef NormalRelocTarget
#define NormalRelocTarget(program,objects,deplibs,locallibs,syslibs) @@\
program: objects deplibs @@\
RemoveTargetProgram($@) @@\
ld -r objects locallibs $(LDLIBS) syslibs $(EXTRA_LOAD_FLAGS) -o $@ @@\
@@\
clean:: @@\
$(RM) program
#endif /* NormalRelocTarget */
NormalProgramTarget(asir,$(TOBJ),$(LIBS),$(LIBS),$(PARILIB) $(RLLIB) $(LOCAL_LIBRARIES) $(EXTRALIB) $(LAPACKLIB) $(LIBCLIB) $(FEPLIB) $(EXTRASTDLIB) )
NormalRelocTarget(asir.o,$(UOBJ),$(LIBS),$(LIBS),$(PARILIB) $(RLLIB) $(EXTRALIB) $(LIBCLIB) $(EXTRASTDLIB))
$(LIBASIR): $(LIBS0)
-mkdir libtmp
( cd libtmp; $(RM) * )
for i in $(LIBS0); do ( cd libtmp; ar x ../$$i; chmod 644 * ) done
$(RM) $@
( cd libtmp; $(AR) ../$@ *.o )
$(RANLIB) $@
install:: $(PROGRAMS)
MakeDir($(ASIR_LIBDIR))
$(INSTALL) $(INSTALLFLAGS) $(PROGRAMS) $(ASIR_LIBDIR)
install-bin-lib:: $(PROGRAMS)
MakeDir($(ASIR_LIBDIR))
$(INSTALL) $(INSTALLFLAGS) $(PROGRAMS) $(ASIR_BINDIR)
(cd lib; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-lib)
$(RM) $(ASIR_LIBDIR)/asir
(cd $(ASIR_LIBDIR); $(LN) ./../../bin/asir asir)
$(RM) $(ASIR_LIBDIR)/ox_asir
(cd $(ASIR_LIBDIR); $(LN) asir ox_asir)
$(RM) $(ASIR_LIBDIR)/ox_launch
(cd $(ASIR_LIBDIR); $(LN) asir ox_launch)
$(RM) $(ASIR_LIBDIR)/ox_plot
(cd $(ASIR_LIBDIR); $(LN) asir ox_plot)
install-libasir:: $(LIBASIR)
MakeDir($(ROOTDIR)/lib)
$(INSTALL) $(INSTALLFLAGS) $(LIBASIR) $(ROOTDIR)/lib
$(RANLIB) $(ROOTDIR)/lib/$(LIBASIR)
install-libgc:: $(GLIB)
MakeDir($(ROOTDIR)/lib)
$(INSTALL) $(INSTALLFLAGS) $(GLIB) $(ROOTDIR)/lib
$(RANLIB) $(ROOTDIR)/lib/`basename $(GLIB)`
install-lib::
MakeDir($(ROOTDIR)/lib)
(cd lib; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-lib)
$(RM) $(ASIR_LIBDIR)/ox_asir
(cd $(ASIR_LIBDIR); $(LN) asir ox_asir)
$(RM) $(ASIR_LIBDIR)/ox_launch
(cd $(ASIR_LIBDIR); $(LN) asir ox_launch)
$(RM) $(ASIR_LIBDIR)/ox_plot
(cd $(ASIR_LIBDIR); $(LN) asir ox_plot)
$(RM) $(ASIR_BINDIR)/asir
$(LN) $(ASIR_LIBDIR)/asir $(ASIR_BINDIR)/asir
install-doc::
(cd lib; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-doc)
install-include::
(cd include; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-include)
(cd parse; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-include)
(cd gc5.3; make ASIR_LIBDIR=$(ASIR_LIBDIR) install-include)
clean::
$(RM) -r libtmp $(LIBRARIES)