about summary refs log tree commit diff
path: root/skribe/etc/bigloo/Makefile.tpl
diff options
context:
space:
mode:
Diffstat (limited to 'skribe/etc/bigloo/Makefile.tpl')
-rw-r--r--skribe/etc/bigloo/Makefile.tpl200
1 files changed, 200 insertions, 0 deletions
diff --git a/skribe/etc/bigloo/Makefile.tpl b/skribe/etc/bigloo/Makefile.tpl
new file mode 100644
index 0000000..24326c1
--- /dev/null
+++ b/skribe/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)
+