56 lines
1.3 KiB
Makefile
56 lines
1.3 KiB
Makefile
# Rules to construct .ss's from component files.
|
|
|
|
##############################################################################
|
|
#
|
|
# .h -> .ss conversion rules
|
|
#
|
|
|
|
# Clear ALLSSFILES
|
|
ALLSSFILES =
|
|
|
|
ifneq (,$(HFILES))
|
|
HSSFILES := $(HFILES:%.h=%.ss)
|
|
$(HSSFILES) : %.ss : %.h
|
|
$(SALIVATE) $(SALIVATE-FLAGS) $< > $@
|
|
ALLSSFILES := $(ALLSSFILES) $(HSSFILES)
|
|
endif
|
|
|
|
ifneq (,$(HHFILES))
|
|
HHSSFILES := $(HHFILES:%.hh=%.ss)
|
|
$(HHSSFILES) : %.ss : %.hh
|
|
@ cat $< > $(sstotmp)
|
|
@ for i in ${HHDIRS} ; do if test -r $$i/$(sstoh) ; then \
|
|
cat $$i/$(sstoh) >> $(sstotmp) ; fi ; done
|
|
$(SALIVATE) $(SALIVATE-FLAGS) $(sstotmp) > $@
|
|
@ rm -f $(sstotmp)
|
|
ALLSSFILES := $(ALLSSFILES) $(HHSSFILES)
|
|
endif
|
|
|
|
TOTALSSFILES := $(ALLSSFILES) $(OTHERSSFILES)
|
|
|
|
LIBTARGET := $(addprefix lib,$(addsuffix .so,$(basename $(TARGET))))
|
|
|
|
ifneq (,$(TOTALSSFILES))
|
|
$(TARGET): $(TOTALSSFILES)
|
|
@ echo -n "**** Creating Meta-ss file "$(TARGET)" ... "
|
|
@ echo '(load-shared-object "'$(LIBTARGET)'")' > $@
|
|
ifeq (,$(STRAIGHTINCLUDE))
|
|
@ echo '(define dl-handle (dlopen "'$(LIBTARGET)'" 2))' >> $@
|
|
@ for i in ${TOTALSSFILES} ; do echo ' ('load-once '"'$$i'")' >> $@ ; done
|
|
else
|
|
@ for i in ${TOTALSSFILES} ; do echo ' ('load-once '"'$$i'")' >> $@ ; done
|
|
endif
|
|
@ echo "done"
|
|
endif
|
|
|
|
ifneq (,$(ALLSSFILES))
|
|
clean::
|
|
rm -f $(TARGET) $(ALLSSFILES)
|
|
endif
|
|
|
|
cleanall: clean
|
|
rm -f $(TARGET)
|
|
|
|
list:
|
|
@ echo $(TARGET)
|