summaryrefslogtreecommitdiff
path: root/etc/bigloo/Makefile.tpl
diff options
context:
space:
mode:
Diffstat (limited to 'etc/bigloo/Makefile.tpl')
-rw-r--r--etc/bigloo/Makefile.tpl200
1 files changed, 200 insertions, 0 deletions
diff --git a/etc/bigloo/Makefile.tpl b/etc/bigloo/Makefile.tpl
new file mode 100644
index 0000000..24326c1
--- /dev/null
+++ b/etc/bigloo/Makefile.tpl
@@ -0,0 +1,200 @@
+#*=====================================================================*/
+#* serrano/prgm/project/skribe/etc/bigloo/Makefile.tpl */
+#* ------------------------------------------------------------- */
+#* Author : Manuel Serrano */
+#* Creation : Wed Nov 7 09:20:47 2001 */
+#* Last change : Wed Feb 18 11:23:12 2004 (serrano) */
+#* Copyright : 2001-04 Manuel Serrano */
+#* ------------------------------------------------------------- */
+#* Standard Skribe makefile to build various libraries. */
+#*=====================================================================*/
+
+#*---------------------------------------------------------------------*/
+#* Compilers, Tools and Destinations */
+#*---------------------------------------------------------------------*/
+# The heap file
+HEAP_FILE = $(LIB)/$(TARGETNAME).heap
+HEAPJVM_FILE = $(LIB)/$(TARGETNAME).jheap
+# Where to store the library class files
+PBASE = bigloo.skribe.$(TARGETNAME)
+CLASS_DIR = o/class_s/bigloo/skribe/$(TARGETNAME)
+O_DIR = o
+
+BUNSAFEFLAGS = -unsafe
+
+#*---------------------------------------------------------------------*/
+#* Suffixes */
+#*---------------------------------------------------------------------*/
+.SUFFIXES:
+.SUFFIXES: .scm .class .o
+
+#*---------------------------------------------------------------------*/
+#* The implicit rules */
+#*---------------------------------------------------------------------*/
+$(O_DIR)/%.o: %.scm
+ $(BIGLOO) $(BUNSAFEFLAGS) $(BCFLAGS) $(BCOMMONFLAGS) -c $< -o $@
+
+$(CLASS_DIR)/%.class: %.scm
+ $(BIGLOO) $(BUNSAFEFLAGS) $(BJVMFLAGS) $(BCOMMONFLAGS) -c $< -o $@
+
+#*---------------------------------------------------------------------*/
+#* bin */
+#*---------------------------------------------------------------------*/
+.PHONY: bin-c bin-jvm
+
+#*--- bin-c -----------------------------------------------------------*/
+bin-c: $(TAGS) .afile .etags $(O_DIR) $(SKRIBEBINDIR)/$(TARGETNAME).bigloo
+
+$(SKRIBEBINDIR)/$(TARGETNAME).bigloo: $(OBJECTS)
+ $(BIGLOO) $(BUNSAFEFLAGS) $(BLINKFLAGS) $(BCOMMONFLAGS) $(OBJECTS) -o $(SKRIBEBINDIR)/$(TARGETNAME).bigloo
+ @ echo "$(SKRIBEBINDIR)/$(TARGETNAME).bigloo done..."
+ @ echo "-------------------------------"
+
+#*--- bin-jvm ---------------------------------------------------------*/
+bin-jvm: $(TAGS) .afile .etags .jfile $(CLASS_DIR) $(SKRIBEBINDIR)/$(TARGETNAME).zip
+
+$(SKRIBEBINDIR)/$(TARGETNAME).zip: $(CLASSES)
+ @ /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).zip
+ @ (cd $(O_DIR)/class_s; \
+ $(ZIP) -q $(ZFLAGS) $(SKRIBEBINDIR)/$(TARGETNAME).zip -r .)
+ @ echo "$(SKRIBEBINDIR)/$(TARGETNAME).zip done..."
+ @ echo "-------------------------------"
+
+#*---------------------------------------------------------------------*/
+#* Directories */
+#*---------------------------------------------------------------------*/
+$(O_DIR):
+ mkdir -p $(O_DIR)
+
+$(CLASS_DIR):
+ mkdir -p $(CLASS_DIR)
+
+#*---------------------------------------------------------------------*/
+#* The heap construction */
+#*---------------------------------------------------------------------*/
+.PHONY: heap heap-c heap-jvm
+
+heap-c: $(HEAP_FILE)
+heap-jvm: $(HEAPJVM_FILE)
+
+$(HEAP_FILE): .afile make-lib.scm
+ @ \rm -f $(HEAP_FILE)
+ @ $(BIGLOO) $(BHEAPFLAGS) make-lib.scm -addheap $(HEAP_FILE)
+ @ echo "Heap Done..."
+ @ echo "-------------------------------"
+
+$(HEAPJVM_FILE): .jfile .afile make-lib.scm
+ @ \rm -f $(HEAPJVM_FILE)
+ @ $(BIGLOO) -jvm $(BHEAPFLAGS) make-lib.scm -addheap $(HEAPJVM_FILE)
+ @ echo "Heap JVM Done..."
+ @ echo "-------------------------------"
+
+#*---------------------------------------------------------------------*/
+#* lib */
+#*---------------------------------------------------------------------*/
+.PHONY: lib-c lib-jvm
+
+#*--- lib-c -----------------------------------------------------------*/
+lib-c: $(TAGS) .afile lib.$(SHAREDSUFFIX) lib.a
+
+lib.$(SHAREDSUFFIX): $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) $(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX)
+lib.a: $(LIB)/lib$(TARGETNAME)_s.a $(LIB)/lib$(TARGETNAME)_u.a
+
+$(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX): $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX)
+ cd $(LIB); \
+ /bin/rm -f lib$(TARGETNAME)_u.$(SHAREDSUFFIX); \
+ ln -s lib$(TARGETNAME)_s.$(SHAREDSUFFIX) lib$(TARGETNAME)_u.$(SHAREDSUFFIX)
+
+$(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX): .afile $(OBJECTS)
+ @ /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX)
+ @ $(LD) -o $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) $(OBJECTS) -lm -lc
+ @ echo "lib$(TARGETNAME)_s.$(SHAREDSUFFIX) Done..."
+ @ echo "-------------------------------"
+
+$(LIB)/lib$(TARGETNAME)_u.a: $(LIB)/lib$(TARGETNAME)_s.a
+ cd $(LIB); \
+ /bin/rm -f lib$(TARGETNAME)_u.a; \
+ ln -s lib$(TARGETNAME)_s.a lib$(TARGETNAME)_u.a
+
+$(LIB)/lib$(TARGETNAME)_s.a: .afile $(OBJECTS)
+ @ /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.a
+ @ $(AR) $(ARFLAGS) $(LIB)/lib$(TARGETNAME)_s.a $(OBJECTS)
+ @ $(RANLIB) $(LIB)/lib$(TARGETNAME)_s.a
+ @ echo "lib$(TARGETNAME)_s.a Done..."
+ @ echo "-------------------------------"
+
+#*--- lib-jvm ---------------------------------------------------------*/
+lib-jvm: $(TAGS) $(CLASS_DIR) lib.zip
+
+lib.zip: .afile .jfile $(CLASSES)
+ @ /bin/rm -f $(LIB)/$(TARGETNAME).zip
+ @ (cd $(O_DIR)/class_s; \
+ $(ZIP) -q $(ZFLAGS) \
+ $(LIB)/$(TARGETNAME)_s.zip \
+ $(CLASS_DIR:$(O_DIR)/class_s/%=%)/*.class)
+ @ echo "lib$(TARGETNAME)_s.zip done..."
+ @ echo "-------------------------------"
+
+#*---------------------------------------------------------------------*/
+#* ude */
+#*---------------------------------------------------------------------*/
+.PHONY: ude
+ude:
+ @ $(MAKE) -f Makefile .afile .etags
+
+.afile: $(SOURCES)
+ @ $(AFILE) -o .afile $(_BGL_SOURCES)
+
+.jfile: $(SOURCES)
+ @ $(JFILE) -o .jfile -pbase $(PBASE) $(SOURCES)
+
+.etags: $(SOURCES)
+ @ $(BTAGS) -o .etags $(_BGL_SOURCES)
+
+#*---------------------------------------------------------------------*/
+#* stdclean */
+#*---------------------------------------------------------------------*/
+stdclean:
+ /bin/rm -f $(OBJECTS) $(_BGL_OBJECTS:%=%.c)
+ /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).bigloo
+ /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).zip
+ /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX)
+ /bin/rm -f $(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX)
+ /bin/rm -f .afile .etags .jfile
+ /bin/rm -rf $(O_DIR)
+ /bin/rm -f *~
+ /bin/rm -f *.mco
+
+#*---------------------------------------------------------------------*/
+#* install/uninstall */
+#*---------------------------------------------------------------------*/
+install:
+ $(MAKE) install-$(TARGET)
+
+uninstall:
+ $(MAKE) uninstall-$(TARGET)
+
+install-c: $(DESTDIR)$(INSTALL_BINDIR)
+ cp $(SKRIBEBINDIR)/$(TARGETNAME).bigloo $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo \
+ && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo
+ /bin/rm -f $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME)
+ ln -s $(TARGETNAME).bigloo $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME)
+
+uninstall-c:
+ /bin/rm $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo
+ /bin/rm $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME)
+
+install-jvm: $(DESTDIR)$(INSTALL_FILDIR)
+ cp $(SKRIBEBINDIR)/$(TARGETNAME).zip $(DESTDIR)$(INSTALL_FILDIR)/$(TARGETNAME).zip
+ cp $(FILDIR)/bigloo_s.zip $(DESTDIR)$(INSTALL_FILDIR)
+
+uninstall-jvm:
+ /bin/rm $(DESTDIR)$(INSTALL_FILDIR)/$(TARGETNAME).zip
+ /bin/rm -f $(DESTDIR)$(INSTALL_FILDIR)/bigloo_s.zip
+
+$(DESTDIR)$(INSTALL_BINDIR):
+ mkdir -p $(DESTDIR)$(INSTALL_BINDIR) && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR)
+
+$(FILDIR):
+ mkdir -p $(FILDIR) && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR)
+