OTHER_CFLAGS = -g -O2 $(RC_CFLAGS) $(CFLAGS)
OBJROOT = .
SYMROOT = .

DERIVED_DIR = obj
GNUSRC = /NextDeveloper/Source/GNU
ARCHIVE_STRIP_OPTS_FROM_KEV = -x -S
STRIP = /bin/strip

all: $(OBJROOT)/$(DERIVED_DIR) $(OBJROOT)/$(DERIVED_DIR)/Makefile
	(includedir=`pwd`;					\
	cd $(OBJROOT)/$(DERIVED_DIR);				\
	$(MAKE) CFLAGS="$(OTHER_CFLAGS) -I$$includedir"		\
		MACHINE=`/usr/bin/arch`				\
		OBJROOT="$(OBJROOT)"				\
		SYMROOT="$(SYMROOT)"				\
		DSTROOT="$(DSTROOT)"				\
		$@ )

$(OBJROOT)/$(DERIVED_DIR)/Makefile: Makefile.in
	(PWD=`pwd`;						\
	cd $(OBJROOT)/$(DERIVED_DIR);				\
	$$PWD/configure next)

reconfigure: 
	(PWD=`pwd`;						\
	cd $(OBJROOT)/$(DERIVED_DIR);				\
	$$PWD/configure next)

headers_hack:
	(mkdirs $(DSTROOT)/NextDeveloper/Headers/g++/sys; \
	cp NewHeaders/*.h $(DSTROOT)/NextDeveloper/Headers/g++; \
	cp NewHeaders/sys/*.h $(DSTROOT)/NextDeveloper/Headers/g++/sys; \
	)

install_relnotes:
	(mkdirs $(DSTROOT)/usr/local/RelNotes; \
	cp libg++.rtf $(DSTROOT)/usr/local/RelNotes;)

installhdrs: $(OBJROOT)/$(DERIVED_DIR) $(OBJROOT)/$(DERIVED_DIR)/Makefile
	(cd $(OBJROOT)/$(DERIVED_DIR)/libg++;			\
	$(MAKE) OBJROOT="$(OBJROOT)"				\
		SYMROOT="$(SYMROOT)"				\
		DSTROOT="$(DSTROOT)"				\
		$@ )
	make headers_hack DSTROOT="$(DSTROOT)"

install: all installhdrs
	(cd $(OBJROOT)/$(DERIVED_DIR)/libg++;			\
	$(MAKE) OBJROOT="$(OBJROOT)"				\
		SYMROOT="$(SYMROOT)"				\
		DSTROOT="$(DSTROOT)"				\
		$@ )
	make headers_hack DSTROOT="$(DSTROOT)"
	make install_relnotes DSTROOT="$(DSTROOT)"
	make installGNUsrc SRCROOT=$(DSTROOT)/$(GNUSRC)/libg++
	chown -fR root.wheel $(DSTROOT)/$(GNUSRC)
	$(STRIP) $(ARCHIVE_STRIP_OPTS_FROM_KEV) $(DSTROOT)/usr/lib/libg++.a


PACKAGE = /NextAdmin/Installer.app/package

package: 
	(dstroot=/tmp/package_dest_libg++root;					\
	$(MAKE) "RC_CFLAGS=-arch i386 -arch m68k" \
		"RC_ARCHS=i386 m68k" \
	 	OBJROOT="$(OBJROOT)" \
		SYMROOT="$(SYMROOT)"				\
		DSTROOT="$$dstroot"				\
		install ;					\
	$(PACKAGE) $$dstroot libg++.info -d /tmp)

	
#	install -r -m 555 $(OBJROOT)/$(DERIVED_DIR)/libg++/libg++.a $(DSTROOT)$(LIBDIR)/libg++.a 

$(OBJROOT)/$(DERIVED_DIR):
	mkdirs $@

installsrc installGNUsrc: $(SRCROOT) clean
	tar cf - * | (cd $(SRCROOT); tar xfp -)
	rm -f $(SRCROOT)/SGS_ENV


$(SRCROOT):
	mkdirs $@

clean:
	-rm -rf $(OBJROOT)/$(DERIVED_DIR)
	-rm -f tags .gdb_history
