MAKEFILES = ../rules.mak
MAKE=make
LIBDIR=/gcc2/lib
LIBDIR_S=$(LIBDIR)/static
LIBDIR_D=$(LIBDIR)/dynamic

# WARNING: THIS WILL OVERRIDE YOUR ENVIRONMENT
LIB:=\gcc2\lib;$(LIB)

MODULES = compat43 gpp gen local math regexp stdio stdlib string cjsrc
.PHONY: all $(MODULES) install
all: $(MODULES) dllc101.lib
	@echo Build done

clean: clean-touch
	$(MAKE) -C compat43 clean
	$(MAKE) -C gpp clean
	$(MAKE) -C gen clean
	$(MAKE) -C local clean
	$(MAKE) -C math clean
	$(MAKE) -C regexp clean
	$(MAKE) -C stdio clean
	$(MAKE) -C stdlib clean
	$(MAKE) -C string clean	
	$(MAKE) -C cjsrc clean

clean-touch:
	-rm -f libc.lib dllc101.dll dllc101.lib libcrt.lib
	gnufind . -name all -print -exec rm {} ";"

dllc101.lib: dllc101.dll dllc101.def
	implib /NOI /NOL dllc101.lib dllc101.def

dllc101.dll: dllc101.rsp dllc101.def
	link386 @dllc101.rsp

dllc101.rsp dllc101.def: mkrsp.pl libc.lib
	glib libc.lib -l | perl mkrsp.pl dllc101

install: $(LIBDIR_S)/c.lib $(LIBDIR_D)/c.lib /gcc2/dll/dllc101.dll \
	$(LIBDIR)/libcrt.lib $(LIBDIR)/dllinit.obj $(LIBDIR)/dllinit0.obj
$(LIBDIR)/libcrt.lib: libcrt.lib
	cp --force --preserve libcrt.lib $(LIBDIR)/libcrt.lib
$(LIBDIR_S)/c.lib: libc.lib
	cp --force --preserve libc.lib $(LIBDIR_S)/c.lib
$(LIBDIR_D)/c.lib: dllc101.lib
	cp --force --preserve dllc101.lib $(LIBDIR_D)/c.lib
/gcc2/dll/dllc101.dll: dllc101.dll
	cp --force --preserve dllc101.dll /gcc2/dll/dllc101.dll
$(LIBDIR)/dllinit.obj: dllinit.obj
	cp --force --preserve dllinit.obj $(LIBDIR)/dllinit.obj
$(LIBDIR)/dllinit0.obj: dllinit0.obj
	cp --force --preserve dllinit0.obj $(LIBDIR)/dllinit0.obj

compat43:
	$(MAKE) -C compat43
gen:
	$(MAKE) -C gen
gpp:
	$(MAKE) -C gpp
local:
	$(MAKE) -C local
math:
	$(MAKE) -C math
regexp:
	$(MAKE) -C regexp
stdio:
	$(MAKE) -C stdio
stdlib:
	$(MAKE) -C stdlib
string:
	$(MAKE) -C string
cjsrc:
	$(MAKE) -C cjsrc
