/*
* Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
* All rights reserved.
*
* $OpenXM: OpenXM_contrib2/asir2000/Imakefile,v 1.22 2002/07/26 10:34:25 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 = gc/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 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) $@
$(GLIB): parse/gc_risa.o
( cd gc; make)
-rm gc/libasir-gc.a
cp gc/.libs/libgc.a $(GLIB)
ar q $(GLIB) parse/gc_risa.o
$(RANLIB) $(GLIB)
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)
#if defined(cygwinArchitecture)
$(RM) $(ASIR_LIBDIR)/asir
$(RM) $(ASIR_LIBDIR)/asir.exe
(cd $(ASIR_LIBDIR); $(LN) ./../../bin/asir asir)
$(RM) $(ASIR_LIBDIR)/ox_launch
$(RM) $(ASIR_LIBDIR)/ox_launch.exe
(cd $(ASIR_LIBDIR); $(CP) ./../../bin/asir.exe ox_launch.exe)
#else
$(RM) $(ASIR_LIBDIR)/asir
(cd $(ASIR_LIBDIR); $(LN) ./../../bin/asir asir)
$(RM) $(ASIR_LIBDIR)/ox_launch
(cd $(ASIR_LIBDIR); $(LN) asir ox_launch)
#endif
$(RM) $(ASIR_LIBDIR)/ox_asir
(cd $(ASIR_LIBDIR); $(LN) asir ox_asir)
$(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
#if defined(cygwinArchitecture)
(cd $(ASIR_LIBDIR); $(CP) asir.exe ox_launch.exe)
#else
(cd $(ASIR_LIBDIR); $(LN) asir ox_launch)
#endif
$(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)
MakeDir($(GC_INCDIR))
-$(CP) gc/include//**/*.h $(GC_INCDIR)
MakeDir($(GC_INCDIR)/private)
-$(CP) gc/include/private//**/*.h $(GC_INCDIR)/private
clean::
$(RM) -r libtmp $(LIBRARIES)
-$(RM) -f gc/libasir-gc.a
(cd gc; make 'clean')