# This makefile builds libraries for UART programming
# Adjust makefile.def, not this one...


#######################################################################
#                                                                     #
#                  From here on it's all my fault                     #
#                                                                     #
#######################################################################

!include makefile.def

# Pseudotarget for help

HELP:
	@echo No parameter specified; choose one of the following.
	@echo SMALL     to build the small memory model library
	@echo MEDIUM    to build the medium memory model library
	@echo COMPACT   to build the compact memory model library
	@echo LARGE     to build the large memory model library
	@echo INSTALL   to add the UART functions to the runtime libraries
	@echo            and to copy the header file uart.h to the include path
	@echo CLEAN     to start over (delete everything that's been created)
	@echo  ALL       to do all of the above (suggested method)

!ifndef CC
	!error You must specify a value for CC
!endif

# Pseudotargets for final installments

ALL:
	$(MAKE) $(MAKEFLAGS) SMALL
	$(MAKE) $(MAKEFLAGS) COMPACT
	$(MAKE) $(MAKEFLAGS) MEDIUM
	$(MAKE) $(MAKEFLAGS) LARGE
	$(MAKE) $(MAKEFLAGS) INSTALL

!if "$(CC)"=="cl"
INSTALL:
	copy $(LIBPATH)\?libc?.lib $(LIBPATH)\*.old
	$(LIB) $(LIBPATH)\slibca.lib -+suart.lib;
	$(LIB) $(LIBPATH)\clibca.lib -+cuart.lib;
	$(LIB) $(LIBPATH)\mlibca.lib -+muart.lib;
	$(LIB) $(LIBPATH)\llibca.lib -+luart.lib;
	$(LIB) $(LIBPATH)\slibce.lib -+suart.lib;
	$(LIB) $(LIBPATH)\clibce.lib -+cuart.lib;
	$(LIB) $(LIBPATH)\mlibce.lib -+muart.lib;
	$(LIB) $(LIBPATH)\llibce.lib -+luart.lib;
	$(LIB) $(LIBPATH)\slibc7.lib -+suart.lib;
	$(LIB) $(LIBPATH)\clibc7.lib -+cuart.lib;
	$(LIB) $(LIBPATH)\mlibc7.lib -+muart.lib;
	$(LIB) $(LIBPATH)\llibc7.lib -+luart.lib;
	copy uart.h $(INCLUDEPATH)\*.*
	@echo That's it! Now you can simply use the functions with your code!
!endif

!if "$(CC)"=="bcc"
INSTALL:
	copy $(LIBPATH)\c?.lib $(LIBPATH)\*.old
	$(LIB) $(LIBPATH)\cs.lib -+suart.lib
	$(LIB) $(LIBPATH)\cc.lib -+cuart.lib
	$(LIB) $(LIBPATH)\cm.lib -+muart.lib
	$(LIB) $(LIBPATH)\cl.lib -+luart.lib
	$(LIB) $(LIBPATH)\ch.lib -+luart.lib
	copy uart.h $(INCLUDEPATH)\*.*
	@echo That's it! Now you can simply use the functions with your code!
!endif

CLEAN:
	del *.obj
	del *.bak
	del *.lib
	del *.lst

# Pseudotargets for the several memory models

SMALL:
	del *.obj
	del SUART.LIB
	$(MAKE) $(MAKEFLAGS) /f makefile.sm

COMPACT:
	del *.obj
	del CUART.LIB
	$(MAKE) $(MAKEFLAGS) /f makefile.co

MEDIUM:
	del *.obj
	del MUART.LIB
	$(MAKE) $(MAKEFLAGS) /f makefile.me

LARGE:
	del *.obj
	del LUART.LIB
	$(MAKE) $(MAKEFLAGS) /f makefile.la



	

