head	1.2;
access;
symbols
	Awe-2-10:1.2
	Awe-2-7:1.1;
locks
	grunwald:1.2; strict;
comment	@# @;


1.2
date	91.11.03.20.16.29;	author grunwald;	state Exp;
branches;
next	1.1;

1.1
date	91.10.02.05.31.07;	author grunwald;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Release 2.10
@
text
@#
#	Awe2/Src/GNUmakefile
#
.SUFFIXES:
vpath

.SUFFIXES: .o .s .E .cc .c
#
#	needed, but over-written by GNUmakefile.host
#
LIB	=bogus

VERSION	=OldSrc
#VERSION	=NewSrc


##
## Not in g++, it doesn't..
##
## NEW_DELETE_WORKS=YES

vpath   %.h  ./:../$(VERSION):../Src 

vpath	%.cc ./:../$(VERSION):../Src
vpath	%.c ./:../$(VERSION):../Src

vpath	%.s  ../$(VERSION):../Src

include GNUmakefile.host

include ../Src/GNUmakefile.compilers

INCL		= -I. -I../Src $(I)
C++FLAGS	:= ${INCL} ${C++FLAGS}
CFLAGS		:= ${INCL} ${CFLAGS}
INSTALL		= install -m 444 -c

default: intmp
	@@echo done

which:
	which $(C++)

cwd:
	echo $$cwd

include ../Src/GNUmakefile.files

OBJ	=$(subst .cc,.o,$(C++-SRC)) $(subst .c,.o,$(C-SRC))
DEPS	=$(subst .cc,.dep,$(C++-SRC)) $(subst .c,.dep,$(C-SRC))

OTHER	= GNUmakefile GNUmakefile.sun GNUmakefile.encore
ALLSRC	= $(ASM) $(SRC) $(HDR) $(OTHER)
ALLOBJ	= $(OBJ) $(ASMOBJ)

AROBJ		=$(patsubst %,$(LIB)(%),$(OBJ))
ARALLOBJ	=$(patsubst %,$(LIB)(%),$(ALLOBJ))

$(LIB):	$(ALLOBJ)
	ar r $(LIB) $(ALLOBJ)
	ranlib $(LIB)
	@@echo done

intmp:	$(ALLOBJ)
	ar r /tmp/$(LIB) $(ALLOBJ)
	(cd /tmp ; ranlib /tmp/$(LIB))
	mv /tmp/$(LIB) $(LIB)
	@@echo done

whatis:
	@@echo $(ALLOBJ)

relink here: $(ALLOBJ)
	ar r /tmp/$(LIB) $(ALLOBJ)
	ranlib /tmp/$(LIB)
	mv /tmp/$(LIB) $(LIB)
	@@echo done

ranlib:
	ranlib $(LIB)

#
#	Dependencies to build instances of prototypes
#

../Src/ThreadeventPairingHeap.h ../Src/ThreadEventPairingHeap.cc:
	(cd ../Src; genclass ThreadEvent val PairingHeap)

install: $(INSTALL_LIB)/$(LIB)  $(addprefix $(INSTALL_HDR)/,$(HDR)) \
	$(INSTALL_HDR)/AwesimeConfig.h \
	$(INSTALL_HDR)/HardwareContext.h $(INSTALL_HDR)/HardwareContextP.h
	@@echo Installed

installLib:	$(INSTALL_LIB)/$(LIB)
$(INSTALL_LIB)/$(LIB): $(ALLOBJ)
	rm -f $(INSTALL_LIB)/$(LIB)
	ar r $(INSTALL_LIB)/$(LIB) $(ALLOBJ)
	-cd $(INSTALL_LIB) ; $(RANLIB) $(INSTALL_LIB)/$(LIB)
	-chmod 444 $(INSTALL_LIB)/$(LIB)

installHdr: $(INSTALL_HDR) $(addprefix $(INSTALL_HDR)/,$(HDR))

$(INSTALL_HDR):
	-mkdir $(INSTALL_HDR)

$(INSTALL_HDR)/%.h: %.h
	$(INSTALL) $< $@@

clean:
	-rm -f *.o core *.a .emacs_* *.dep

depend:
	rm -f GNUmakefile.depend makefile.depend
	-$(MAKE) $(MFLAGS) -k depend-c++
	-$(MAKE) $(MFLAGS) -k depend-cc
	mv makefile.depend GNUmakefile.depend

depend-c++: $(C++-SRC)
	$(MAKE) $(MFLAGS) $(subst .cc,.dep,$(C++-SRC)) 
#depend-c++: $(C++-SRC)
#	$(C++) $(C++FLAGS) -M -c  $? >> makefile.depend

depend-cc: $(C-SRC)
	$(MAKE) $(MFLAGS) $(subst .c,.dep,$(C-SRC)) 
#	$(CC) $(CFLAGS) -MM -c $? >> makefile.depend


%.o: %.cc
	$(C++prefix) $(C++) $(C++FLAGS) -c $<

$(LIB)(%.o): %.cc
	$(C++) $(C++FLAGS) -c $<
	ar r $(LIB) %.o
	rm -f %.o

%.o: %.c
	$(C++prefix) $(CC) $(CFLAGS) -c $<

%.dep: %.cc
	-$(C++) $(C++FLAGS) -MM -c $< >> makefile.depend

%.dep: %.c
	-$(C++) $(C++FLAGS) -MM -c $< >> makefile.depend

%.E:	%.cc
	$(C++) -E $(C++FLAGS) $^ > $*.E

%.s:	%.cc
	$(C++) -S $(C++FLAGS) $^

MultiCpuMux.o: MultiCpuMux.cc
	$(C++) $(C++FLAGS) -finline-functions -c $<

##
##	This dependency isn't picked up because of <..> notation, but
##	it's important to development.
##

MultiCpuMux.o MultiSimMux.o : HardwareContext.h
SingleSimMux.o SingleCpuMux.o : HardwareContext.h
Thread.o CpuMultiplexor.o : HardwareContext.h
ThreadHeap.o : HardwareContext.h
Gate.o: HardwareContext.h

GNUmakefile.depend:
	touch GNUmakefile.depend 

include GNUmakefile.depend

@


1.1
log
@Works on Sequent, dec, sparc
@
text
@d7 1
a7 1
.SUFFIXES: .dep .o .s .E .cc .c
d33 1
a33 1
INCL		= -I./ -I../$(VERSION) -I../Src $(I)
d35 1
a35 1
CCFLAGS		:= ${INCL} ${CCLAGS}
d38 1
a38 1
default: $(LIB)
d60 5
d66 1
a66 1
	ranlib /tmp/$(LIB)
d113 4
a116 2
	rm -f GNUmakefile.depend
	$(MAKE) -k makefile.depend
d118 4
a121 2
GNUmakefile.depend: $(DEPS)
	cat *.dep > GNUmakefile.depend 
d123 5
a128 3
	@@echo $(C++) $(C++FLAGS) -c $<
	@@rm -f $*.dep;\
	DEPENDENCIES_OUTPUT="$*.dep"; export DEPENDENCIES_OUTPUT;\
a131 3
	@@echo $(C++) $(C++FLAGS) -c $<
	@@rm -f $*.dep;\
	DEPENDENCIES_OUTPUT="$*.dep"; export DEPENDENCIES_OUTPUT;\
d137 1
a137 4
	@@echo $(CC) $(CCFLAGS) -c $<
	@@rm -f $*.dep;\
	DEPENDENCIES_OUTPUT="$*.dep"; export DEPENDENCIES_OUTPUT;\
	$(C++prefix) $(CC) $(CCFLAGS) -c $<
d140 1
a140 2
	@@rm -f $*.dep
	touch $*.dep
d143 1
a143 2
	@@rm -f $*.dep
	touch $*.dep
d151 3
d165 4
a168 1
# include GNUmakefile.depend
@
