# Copyright (C) 1995 by Klaus Gebhardt

include ../../makeversions

VERSION = 0.4

LIBDIR = $(EMXDIR)/lib
INCDIR = $(EMXDIR)/include/cpp
INFDIR = $(infodir)
DLLDIR = ../../octave-$(OCTBETAVER)/dll

AR = ar
AR_FLAGS = rc
RANLIB = ar s

CC = gcc
CFLAGS = -O2 -D__ST_MT_ERRNO__ -DEMX -I.

ZFLAGS = -Zdll -Zcrtdll

%.o: %.c;	$(CC) $(CFLAGS) -c $< -o $@
%.o: %.cc;	$(CC) $(CFLAGS) -c $< -o $@

%.obj: %.c;	$(CC) $(CFLAGS) -c $< -o $@ -Zomf
%.obj: %.cc;	$(CC) $(CFLAGS) -c $< -o $@ -Zomf

%.lib: %.a;	emxomf -s -l $<

%.lib : %.def
	emximp -o $(patsubst %.def,%.imp,$<) $<
	emximp -o $@ $(patsubst %.def,%.imp,$<)
	@rm -f $(patsubst %.def,%.imp,$<)

%.a   : %.def
	emximp -o $(patsubst %.def,%.imp,$<) $<
	emximp -o $@ $(patsubst %.def,%.imp,$<)
	@rm -f $(patsubst %.def,%.imp,$<)

GCCOBJS = eh.obj

LIBS = stdcpp2.a stdcpp2.lib

DLLS = stdcpp2.dll

INCS = procbuf.h procstream.h

all: stdcpp.a libio libstdcpp $(LIBS) $(DLLS)
.PHONY: all

libio:
	cd libio & make
.PHONY: libio

libstdcpp:
	cd libstdc++ & make
.PHONY: libstdcpp


stdcpp.a: stdcpp.emx
	cp stdcpp.emx stdcpp.a


gcc.lib: gcc.emx $(GCCOBJS)
	cp gcc.emx gcc.lib
	emxomfar $(AR_FLAGS) gcc.lib $(GCCOBJS)


stdcpp2.def: stdcpp.lib gcc.lib
	@echo LIBRARY stdcpp2 INITINSTANCE TERMINSTANCE > $@
	@echo DESCRIPTION 'stdcpp2.dll, (c) Klaus Gebhardt 1995-1996' >> $@
	@echo. >> $@
	@echo DATA >> $@
	@echo   MULTIPLE NONSHARED >> $@
	@echo. >> $@
	@echo EXPORTS >> $@
	emxexp -o1 -n stdcpp.lib >> $@

stdcpp2.dll: stdcpp2.def stdcpp.lib
	$(CC) -o $@ stdcpp2.def stdcpp.lib gcc.lib -dllinit -Zomf $(ZFLAGS)


build: clean all
.PHONY: build

install: all
	cp $(LIBS) $(LIBDIR)
	cp $(INCS) $(INCDIR)
	cp $(DLLS) $(DLLDIR)
	cp $(DLLS) test

install_new:
	rm -f *.o *.a *.lib
	cp $(INCS) $(INCDIR)
	cp $(LIBDIR)/gcc.a gcc.emx
	cp $(LIBDIR)/stdcpp.a stdcpp.emx
	make install

clean:
	cd libio & make clean
	cd libstdc++ & make clean
	rm -f *.o *.obj *.a *.lib *.def *.dll
.PHONY: clean
