diff options
Diffstat (limited to 'skribe/etc/bigloo/Makefile.tpl')
-rw-r--r-- | skribe/etc/bigloo/Makefile.tpl | 200 |
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) + |