Skip to content
Snippets Groups Projects
Forked from mcclim / clim-tos
405 commits behind the upstream repository.
Makefile.generic 8.80 KiB
# $fiHeader: Makefile.generic,v 1.15 1993/07/22 15:37:35 cer Exp $
#
#  Makefile.generic for CLIM 2.0
#


FORCE:

default: all-xm

trained-clim-xm:	
	(${make} all-xm train ; ${make} clim-xm)

trained-clim-ol:	
	(${make} all-ol train ; ${make} clim-ol)

all-xm:	compile-xm cat-xm clim-xm
all-ol:	compile-ol cat-ol clim-ol

compile-xm:	$(MOTIF_OBJS) FORCE
	$(ECHO) "\
	(si::system-compile-wrapper \
	 (function \
	  (lambda () \
	    (setq *compile-print* $(COMPILE_PRINT)) \
	    (setq sys::*libxt-pathname* \"$(XTLIB)\") \
	    (setq sys::*libx11-pathname* \"$(XLIB)\") \
	    (setq sys::*clim-motif-pathname* \"clim-motif$(DEBUGLIB).o\") \
	    (load \"misc/compile-1.lisp\") \
	    (compile-it 'motif-clim))) \
	 :speed $(SPEED) :debug $(DEBUG) :safety $(SAFETY) \
	 :record-source-file-info $(RECORD_SOURCE_FILE_INFO) \
	 :record-xref-info $(RECORD_XREF_INFO) \
	 :load-source-file-info $(LOAD_SOURCE_FILE_INFO) \
	 :load-xref-info $(LOAD_XREF_INFO) \
	 :compile-print nil :compile-verbose nil \
	 :redefinition-warnings t :gcprint nil)" | $(CL) $(CLOPTS) -batch

compile-ol:	$(OPENLOOK_OBJS) FORCE
	$(ECHO) "\
	(si::system-compile-wrapper \
	 (function \
	  (lambda () \
	    (setq *compile-print* $(COMPILE_PRINT)) \
	    (setf excl:*load-xref-info* $(LOAD_XREF_INFO)) \
	    (setq sys::*libxt-pathname* \"$(OLXTLIB)\") \
	    (setq sys::*libx11-pathname* \"$(OLXLIB)\") \
	    (setq sys::*clim-olit-pathname* \"clim-olit$(DEBUGLIB).o\") \
	    (setq *ignore-package-name-case* t) \
	    (set-case-mode :case-insensitive-lower) \
	    (load \"misc/compile-1.lisp\") \
	    (compile-it 'openlook-clim))) \
	 :speed $(SPEED) :debug $(DEBUG) :safety $(SAFETY) \
	 :record-source-file-info $(RECORD_SOURCE_FILE_INFO) \
	 :record-xref-info $(RECORD_XREF_INFO) \
	 :load-source-file-info $(LOAD_SOURCE_FILE_INFO) \
	 :load-xref-info $(LOAD_XREF_INFO) \
	 :compile-print nil :compile-verbose nil \
	 :redefinition-warnings t :gcprint nil)" | $(CL) $(CLOPTS) -batch

# Concatenation

cat:	cat-xm cat-ol
cat-g:	climg.fasl clim-debug.fasl climps.fasl climgg.fasl climhpgl.fasl # clim1compat.fasl
cat-xm:	cat-g climxm.fasl clim-debugxm.fasl 
cat-ol:	cat-g climol.fasl clim-debugol.fasl 

# part of XLIB-CLIM-OBJS will have to be put at the beginning climxm and climol

climg.fasl	: $(GENERIC-OBJS) $(XLIB-CLIM-OBJS)
	$(CAT) $(GENERIC-OBJS) $(XLIB-CLIM-OBJS) > $(TMP)/clim.fasl_`whoami`
	$(MV) $(TMP)/clim.fasl_`whoami` climg.fasl
	ls -lt climg.fasl >> Clim-sizes.n
	ls -lt climg.fasl

climgg.fasl	: $(GENERIC-GADGETS)
	$(CAT) $(GENERIC-GADGETS) > $(TMP)/clim.fasl_`whoami`
	$(MV) $(TMP)/clim.fasl_`whoami` climgg.fasl
	ls -lt climgg.fasl >> Clim-sizes.n
	ls -lt climgg.fasl


climxm.fasl	: $(MOTIF-OBJS) $(XLIB-CLIM-OBJS)
	$(CAT) $(MOTIF-OBJS) > $(TMP)/clim.fasl_`whoami`
	$(MV) $(TMP)/clim.fasl_`whoami` climxm.fasl
	ls -lt climxm.fasl >> Clim-sizes.n
	ls -lt climxm.fasl

climol.fasl	: $(OPENLOOK-OBJS)
	$(CAT) $(OPENLOOK-OBJS) > $(TMP)/clim.fasl_`whoami`
	$(MV) $(TMP)/clim.fasl_`whoami` climol.fasl
	ls -lt climol.fasl >> Clim-sizes.n
	ls -lt climol.fasl

echo-fasls:
	ls -lt $(MOTIF-OBJS) > /tmp/foo

clim-debug.fasl:	$(DEBUG-OBJS)
	$(CAT) $(DEBUG-OBJS) > $(TMP)/clim-debug.fasl_`whoami`
	$(MV) $(TMP)/clim-debug.fasl_`whoami` clim-debug.fasl
	ls -lt clim-debug.fasl >> Clim-sizes.n
	ls -lt clim-debug.fasl

clim-debugxm.fasl:	$(XM-DEBUG-OBJS)
	$(CAT) $(XM-DEBUG-OBJS) > $(TMP)/clim-debugxm.fasl_`whoami`
	$(MV) $(TMP)/clim-debugxm.fasl_`whoami` clim-debugxm.fasl
	ls -lt clim-debugxm.fasl >> Clim-sizes.n
	ls -lt clim-debugxm.fasl

clim-debugol.fasl:	$(OL-DEBUG-OBJS)
	$(CAT) $(OL-DEBUG-OBJS) > $(TMP)/clim-debugol.fasl_`whoami`
	$(MV) $(TMP)/clim-debugol.fasl_`whoami` clim-debugol.fasl
	ls -lt clim-debugol.fasl >> Clim-sizes.n
	ls -lt clim-debugol.fasl

climps.fasl: 	$(POSTSCRIPT_CLIM)
	$(CAT) $(POSTSCRIPT_CLIM) > $(TMP)/climps.fasl_`whoami`
	$(MV) $(TMP)/climps.fasl_`whoami` climps.fasl

climhpgl.fasl : $(HPGL_OBJS)
	$(CAT) $(HPGL_OBJS) > $(TMP)/climhpgl.fasl_`whoami`
	$(MV) $(TMP)/climhpgl.fasl_`whoami` climhpgl.fasl

clim1compat.fasl : $(CLIM1COMPAT)
	$(CAT) $(CLIM1COMPAT) > $(TMP)/clim1compat.fasl_`whoami`
	$(MV) $(TMP)/clim1compat.fasl_`whoami` clim1compat.fasl
	ls -lt clim1compat.fasl >> Clim-sizes.n
	ls -lt clim1compat.fasl

# We should only run these rules when
# We do this because we because we might have only compiled one port

tk/xm-defs.fasl : tk/xm-defs.lisp
	echo Foo


# Building

clim-xm:	FORCE $(MOTIF_OBJS)
	-$(RM) -f $(CLIMXM)
	$(ECHO) " \
		(setq sys::*libxt-pathname* \"$(XTLIB)\") \
		(setq sys::*libx11-pathname* \"$(XLIB)\") \
	        (setq sys::*clim-motif-pathname* \"clim-motif$(DEBUGLIB).o\") \
		(load \"misc/dev-load-1.lisp\") \
		(load-it 'motif-clim) \
		(setq sys::*clim-dump-name* \"$(DUMP-CLIM)\") \
		(load \"misc/dump.lisp\")" | $(DUMP-CL) $(CLOPTS) -batch
	$(MV) $(DUMP-CLIM) $(CLIMXM)
	ls -lLt $(CLIMXM) >> Clim-sizes.n
	size $(CLIMXM) >> Clim-sizes.n
	ls -lLt $(CLIMXM)
	echo CLIM-XM built!!!!	

clim-ol:	FORCE $(OPENLOOK_OBJS)
	-$(RM) -f $(CLIMOL)
	$(ECHO) " \
		(setq sys::*libxt-pathname* \"$(OLXTLIB)\") \
		(setq sys::*libx11-pathname* \"$(OLXLIB)\") \
	        (setq sys::*clim-olit-pathname* \"clim-olit$(DEBUGLIB).o\") \
		(load \"misc/dev-load-1.lisp\") \
		(load-it 'openlook-clim) \
		(setq sys::*clim-dump-name* \"$(DUMP-CLIM)\") \
		(load \"misc/dump.lisp\")" | $(DUMP-CL) $(CLOPTS) -batch
	$(MV) $(DUMP-CLIM) $(CLIMOL)
	ls -lLt $(CLIMOL) >> Clim-sizes.n
	size $(CLIMOL) >> Clim-sizes.n
	ls -lLt $(CLIMOL)
	echo CLIM-OL built!!!!		

clim-small:	FORCE
	$(ECHO) " \
		(load \"misc/load-xm.lisp\") \
		(setq sys::*clim-dump-name* \"$(DUMP-CLIM)\") \
		(load \"misc/dump.lisp\")" | $(DUMP-CL) $(CLOPTS) -batch
	$(MV) $(DUMP-CLIM) $(CLIM-SMALL)
	ls -lt $(CLIM-SMALL) >> Clim-sizes.n
	size $(CLIM-SMALL) >> Clim-sizes.n
	ls -lt $(CLIM-SMALL)

# Training

train	:	FORCE
	$(TRAIN_TEXT)

generate_test_report:
	@$(ECHO) "\
	(clim-user::generate-pretty-test-report :file \"$(REPORT_FILE)\") \
	 (exit) \
" | $(CLIM) $(CLOPTS) -batch 

profile	:	FORCE
	$(ECHO) "\
	(clim-user::run-profile-clim-tests) \
"       | $(CLIM) $(CLOPTS) -batch

benchmark:
	$(ECHO) "\
	(clim-user::benchmark-clim $(BENCHMARK_FILE)) \
"  | $(CLIM) $(CLOPTS) -batch

testps :
	$(ECHO) "\
	(load \"test/postscript-tests.lisp\") \
	(clim-user::run-postscript-tests :output $(PSVIEW)) \
"  | $(CLIM) $(CLOPTS) -batch

echo-train:
	-$(ECHO) "$(TRAIN_LISP)"
# Misc

cleanobjs: 
	rm -f $(CLIMOBJS) *.o

clean:
	find . -name '*.fasl' -print | xargs rm -f
	rm -f $(CLIMFASLS) $(CLIMOBJS) *.o \
	  	stub-motif.c stub-olit.c stub-xt.c stub-x.c slim slim-small
	rm -f *.z *.Z *.gz *.ilt

cheapclean:
	find $(CHEAP_CLEAN) -name "*.fasl" -print | xargs rm -f


tags:
	$(TAGS) $(ALL_SRC)

wc:
	wc $(ALL_SRC)

swm-tape:
	tar cf $(DEVICE) `find $(PUBDIRS) '(' -name "*.cl" -o -name "*.lisp" ')' -print`

dist:	FORCE
	tar -cf -  $(SRC_FILES) | compress >  Dist/src.tar.Z

rcscheck:
	rcscheck $(DIRS) | grep -v .fasl


################## Make-dist stuff

echo_XTLIB:
	@echo $(XTLIB)

echo_XLIB:
	@echo $(XLIB)

echo_OLXTLIB:
	@echo $(OLXTLIB)

echo_OLXLIB:
	@echo $(OLXLIB)

makeclimfasls	: $(CLIM_FASLS_TO_MAKE)
makeclimxmfasls	: compile-xm cat-xm
makeclimolfasls	: compile-ol cat-ol

install_obj:
	cp $(INSTALLED_CLIMOBJS) $(DEST)
	
install_clim: install_obj
	cp $(CLIMFASLS) $(DEST)

# Link in the libraries & distribution object files with standard names
#
# the following rule is no longer used by sh/make-dist.  4/29/93 -layer
link-objects	:
	ln -s $(XTLIB) $(DEST)/libXt.a
	ln -s $(XLIB) $(DEST)/libX11.a
#	ln -s $(INSTALLED_CLIMOBJS) $(DEST)

# Backwards compatibility...
link-motif-libraries:	link-objects

echo_src_files:
	@ls $(SRC_FILES) | cat

makeclimobjs: $(CLIMOBJS)

################## Lower level Makefile stuff

echo-xm-ucl-xtras: 
	@echo $(PWD)/stub-x.o $(PWD)/clim-motif.o $(PWD)/xlibsupport.o $(PWD)/MyDrawingA.o $(PWD)/xtsupport.o   $(MOTIFLIB) $(XTLIB) $(XLIB) $(XMDCLXTRAS)

ol-dcl	:  stub-x.o stub-xt.o clim-olit.o xlibsupport.o olsupport.o xtsupport.o  $(MALLOCOBJS)
	cd $(CL_SRC) ; /bin/rm -f ucl ;\
	make initial_oldspace=$(OLDSPACE) oldspace=$(OLDSPACE) newspace=$(NEWSPACE) premallocs=$(PREMALLOCS) ucl_xtras='$(PWD)/stub-x.o $(PWD)/stub-xt.o $(PWD)/clim-olit.o $(PWD)/xlibsupport.o $(PWD)/olsupport.o $(PWD)/xtsupport.o $(COMPOSEROBJS) $(MALLOCOBJS) $(OLXLIBS)' dcl

xm-dcl	: stub-x.o stub-xt.o clim-motif.o xlibsupport.o xtsupport.o  MyDrawingA.o $(MALLOCOBJS)
	cd $(CL_SRC) ; /bin/rm -f ucl ;\
	make initial_oldspace=$(OLDSPACE) oldspace=$(OLDSPACE) newspace=$(NEWSPACE) premallocs=$(PREMALLOCS) ucl_xtras='$(PWD)/stub-x.o $(PWD)/stub-xt.o $(PWD)/clim-motif.o $(PWD)/xlibsupport.o $(PWD)/MyDrawingA.o $(PWD)/xtsupport.o $(COMPOSEROBJS) $(MOTIFLIB) $(MALLOCOBJS) $(XTLIB) $(XLIB) $(XMDCLXTRAS)' dcl	

dcl	: 
	cd $(CL_SRC) ; /bin/rm -f ucl ;\
	make dcl	

include $(C_OBJECT_MAKEFILE)


xm-composer : xm-dcl
	cd /usr/composer2 ; make CL=$(CL) rebuild-c2

ol-composer : ol-dcl
	cd /usr/composer2 ; make CL=$(CL) rebuild-c2


lsxmfasls:
	@ls -s $(MOTIF-OBJS) | sort -nr