home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR13 / OS2ASM.ZIP / MAKEFILE < prev    next >
Text File  |  1991-08-10  |  12KB  |  365 lines

  1. #_ makefile   August 14, 1990
  2. # Copyright (C) 1985-1991 by Walter Bright
  3. # All Rights Reserved
  4. # Written by Walter Bright
  5. # Modified by Joe Huffman January 2, 1991
  6.  
  7. # makefile for the library zps.lib (Phar Lap DOS386).
  8.  
  9. MODEL=S
  10.  
  11. # Macros for DOS386 version
  12. OS=DOS386
  13. O=obj
  14. CFLAGS=
  15. A=&
  16. XFLG=
  17. LB=zp$(MODEL)
  18. OLB=oldstrx
  19.  
  20. INC=..\..\include
  21. C=..\clib
  22. ZTC= ztc -c -r -o+space -m$(MODEL) -I$C $(XFLG) -3 -O
  23. MMASM=masm -DI8086S -DOMF=1 -DCOFF=0 -D$(OS) -DX386 -DM_I386 -I$(INC)\ -Mx
  24. #MASM=386asm -D I8086S -D $(OS) -D M_I386 -TWOC -I $(INC)\ -NOL
  25. MASM= ztc -c -m$(MODEL) $(XFLG) -3 -O
  26.  
  27. #### ASSEMBLY SOURCES ####
  28. A1 = mathtrn.$O mathtrnf.$O atoi.$O sysint.$O exec2.$O clock.$O
  29. A2 = getenv.$O port.$O inter.$O
  30. A3 = getdos.$O double.$O float.$O alloc.$O io.$O disp.$O jmp.$O sound.$O
  31. A4 = msmouse.$O math87.$O getcwd.$O find.$O bios.$O rot.$O
  32. A5 = cputype.$O page.$O cinit.$O getthd.$O
  33. A6 = dosdate.$O doserr.$O dosfil.$O filelen.$O locking.$O
  34. A7 = dup.$O chsize.$O dos_find.$O alloca.$O strtoul.$O itoa.$O
  35. A8 = controlc.$O cerror.$O flt87.$O ldexp.$O realmode.$O
  36.  
  37. #### ASSEMBLY ROUTINES FROM STRINGS.ASM ####
  38. ST1 = memset.$O index.$O memchr.$O strlen.$O strcat.$O strncat.$O
  39. ST2 = strcpy.$O strncpy.$O strcmp.$O strncmp.$O memcpy.$O memcmp.$O
  40. ST3 = stpcpy.$O _memint.$O movedata.$O strcmpl.$O memicmp.$O
  41.  
  42. #### ASSEMBLY ROUTINES FROM TIME2.ASM ####
  43. TIME2 = time2.$O utime.$O
  44.  
  45. #### ASSEMBLY ROUTINES FROM sys_pl.asm ####
  46. SYS_PL = seg.$O sbrk.$O _exit.$O memlock.$O
  47.  
  48. #### C SOURCES ####
  49. C1 = printf.$O scanf.$O matherr.$O
  50. C2 = ungetc.$O stat.$O
  51. C3 = flush.$O ctype.$O ecvt.$O fputc.$O putenv.$O
  52. C4 = system.$O qsort.$O response.$O
  53. C5 = stack.$O rand.$O okbigbuf.$O unmangle.$O
  54. C6 = strtol.$O signal.$O mbyte.$O _main.$O
  55.  
  56. #### C++ SOURCES ####
  57. CPP1 = ios.$O strmbuf.$O manip.$O iostream.$O
  58. CPP2 = statics.$O osint.$O isfloat.$O isint.$O
  59. CPP3 = osfloat.$O strsbuf.$O strstrm.$O stdiobuf.$O iostdio.$O istream6.$O
  60. CPP4 = istream1.$O istream2.$O istream3.$O istream4.$O istream5.$O
  61. CPP5 = filebuf1.$O filebuf2.$O filebuf3.$O filebuf4.$O filebuf5.$O
  62. CPP6 = fstream1.$O fstream2.$O fstream3.$O fstream4.$O
  63. CPP7 = ostream1.$O ostream2.$O ostream3.$O ostream4.$O
  64. CPP8 = assign1.$O assign2.$O assign3.$O 
  65. CPP9= _new.$O vector.$O _delete.$O _handler.$O
  66. CPP10 = fg.$O complex.$O coperat.$O cstrm.$O ctrig.$O
  67.  
  68. #### C SOURCES FROM IS.C ####
  69. IS1 = toascii.$O toupper.$O tolower.$O isprint.$O
  70. IS2 = isgraph.$O isascii.$O isupper.$O
  71. IS3 = ispunct.$O islower.$O isdigit.$O isxdigit.$O
  72. IS4 = isalnum.$O isspace.$O isalpha.$O iscntrl.$O
  73.  
  74. #### FROM MATH.C #####
  75. MATHOBJ = MATH1.$O TRIG.$O SQRT.$O LOG.$O ATRIG.$O HYPER.$O _TRIGERR.$O ROUND.$O IEEE.$O
  76.  
  77. #### FROM FCLOSE.C #####
  78. FCLOSE = fopen.$O freopen.$O _fopen.$O iob.$O fclose.$O fflush.$O setmode.$O
  79. FCLOSE2 = atexit.$O exit.$O flushall.$O fcloseal.$O fmacros.$O fdopen.$O
  80. FCLOSE3 = tmpnam.$O
  81.  
  82. #### FROM FLTENV.C #####
  83. FLTENV = fltenv1.$O feexcept.$O
  84.  
  85. #### FROM TIME.C ####
  86. TIME = asctime.$O ctime.$O loctime.$O mktime.$O sleep.$O strf.$O time3.$O
  87.  
  88. #### FROM FREAD.C ####
  89. FREAD = fread.$O fwrite.$O puts.$O gets.$O fgets.$O fputs.$O
  90.  
  91. #### FROM DISP2.C ####
  92. DISP2 = dprintf.$O disp2.$O
  93.  
  94. #### FROM LOCALE.C ####
  95. LOCALE = setlc.$O lconv.$O
  96.  
  97. #### FROM PERROR.C ####
  98. PERROR = assert.$O perror.$O
  99.  
  100. #### FROM STRINGS2.C ####
  101. STRINGS2A = strcspn.$O strpbrk.$O strrchr.$O strspn.$O strnicmp.$O
  102. STRINGS2B = strtok.$O strdup.$O strlwr.$O strupr.$O strnset.$O strrev.$O
  103. STRINGS2C = strset.$O swab.$O strstr.$O
  104.  
  105. #### FROM STRTOD.C ####
  106. STRTOD = strtod.$O strtof.$O atof.$O
  107.  
  108. #### FOR OLDSTREAMS ####
  109. OLDSTR= form.$O circbuf.$O filebuf.$O stream.$O
  110.  
  111. #### FROM IN.CPP ####
  112. IN1= in1.$O in2.$O in3.$O in4.$O in5.$O in6.$O in7.$O
  113. IN2= in8.$O in9.$O in10.$O in11.$O in12.$O in13.$O
  114. IN3= in14.$O in15.$O in16.$O in17.$O in18.$O in19.$O in20.$O
  115.  
  116. #### FROM OUT.CPP ####
  117. OUT= out1.$O out2.$O out3.$O out4.$O out5.$O out6.$O out7.$O out8.$O
  118.  
  119. .c.$O:
  120.     $(ZTC) $*
  121.  
  122. .cpp.$O:
  123.     $(ZTC) $*
  124.  
  125. .asm.$O:
  126.     $(MASM) $*
  127.  
  128. library: cx.$O _mainp.$O ip.$O realmode.$O $(LB).lib $(OLB).lib
  129.  
  130. $(LB).lib : $(A1) $(A2) $(A3) $(A4) $(A5) $(A6) $(A7) $(A8) \
  131.      $(ST1) $(ST2) $(ST3) $(TIME2) $(SYS_PL)\
  132.      $(C1) $(C2) $(C3) $(C4) $(C5) $(C6) $(IS1) $(IS2) $(IS3) $(IS4) \
  133.      $(FCLOSE) $(FCLOSE2) $(FCLOSE3) $(TIME) $(STRINGS2A) $(STRINGS2B) $(STRINGS2C) \
  134.      $(STRTOD) $(FLTENV) \
  135.      $(CPP1) $(CPP2) $(CPP3) $(CPP4) $(CPP5) $(CPP6) $(CPP7) $(CPP8) $(CPP9) $(CPP10) \
  136.      cp.$O $(FREAD) $(DISP2) $(LOCALE) $(PERROR) $(MATHOBJ) $(LB).cmd x386.lib
  137.     del $(LB).lib
  138.     zorlib @$(LB).cmd
  139.  
  140. $(A1) $(A2) $(A3) $(A4) $(A5) $(A6) $(A7) $(A8) $(SYS_PL) : $(INC)\macros.asm
  141.  
  142. $(C1) $(C2) $(C3) $(C4) $(C5) $(C6) $(CPP1) $(CPP2) $(CPP3) $(CPP4) $(CPP5) \
  143. $(CPP6) $(CPP7) $(CPP8) $(CPP9) $(CPP10) $(OLDSTR) :
  144.     $(ZTC) $C\$* -o$*.$O
  145.  
  146. $(ST1) $(ST2) $(ST3) : $(INC)\macros.asm strings.asm
  147.     $(ZTC) -DA$* strings -o$*
  148.  
  149. $(TIME2) : $(INC)\macros.asm time2.asm
  150.     $(ZTC) -DA$* time2 -o$*
  151.  
  152. $(SYS_PL) : $(INC)\macros.asm sys_pl.asm
  153.     $(ZTC) -DA$* sys_pl -o$*
  154.  
  155. $(IS1) $(IS2) $(IS3) $(IS4) : $C\is.c
  156.     $(ZTC) -DA$* $C\is -o$*.$O
  157.  
  158. $(MATHOBJ) : $(INC)\stdio.h $(INC)\errno.h $(INC)\math.h \
  159.     $(INC)\float.h $C\math.c
  160.     $(ZTC) -D$* $C\math -o$*.$O
  161.  
  162. $(FCLOSE) $(FCLOSE2) $(FCLOSE3) : $(INC)\stdio.h $(INC)\io.h $(INC)\fcntl.h \
  163.     $(INC)\string.h $(INC)\process.h $(INC)\stdlib.h $C\fclose.c
  164.     $(ZTC) -DA$* $C\fclose -o$*.$O
  165.  
  166. $(FLTENV) : $(INC)\float.h $(INC)\fltenv.h $(INC)\signal.h $C\fltenv.c
  167.     $(ZTC) -DA$* $C\fltenv -o$*.$O
  168.  
  169. $(FREAD) : $(INC)\stdio.h $C\fread.c
  170.     $(ZTC) -DA$* $C\fread -o$*.$O
  171.  
  172. $(DISP2) : $(INC)\stdio.h $(INC)\disp.h $(INC)\stdarg.h $C\disp2.c
  173.     $(ZTC) -DA$* $C\disp2 -o$*.$O
  174.  
  175. $(LOCALE) : $(INC)\locale.h $(INC)\limits.h $(INC)\string.h $C\locale.c
  176.     $(ZTC) -DA$* $C\locale -o$*.$O
  177.  
  178. $(PERROR) : $(INC)\stdio.h $(INC)\errno.h $(INC)\assert.h \
  179.     $(INC)\string.h $(INC)\stdlib.h $C\perror.c
  180.     $(ZTC) -DA$* $C\perror -o$*.$O
  181.  
  182. $(TIME) : $(INC)\stdio.h $(INC)\time.h \
  183.     $(INC)\errno.h $(INC)\string.h $C\time.c
  184.     $(ZTC) -DA$* $C\time -o$*.$O
  185.  
  186. $(STRINGS2A) $(STRINGS2B) $(STRINGS2C) : $(INC)\stdio.h $(INC)\ctype.h \
  187.     $(INC)\stddef.h $(INC)\string.h $C\strings2.c
  188.     $(ZTC) -DA$* $C\strings2 -o$*.$O
  189.  
  190. $(STRTOD) : $(INC)\stdlib.h $(INC)\ctype.h $(INC)\math.h \
  191.     $(INC)\string.h $(INC)\float.h $C\strtod.c
  192.     $(ZTC) -DA$* $C\strtod -o$*.$O
  193.  
  194. $(IN1) $(IN2) $(IN3) : $C\in.cpp $(INC)\stream.hpp
  195.     $(ZTC) -DA$* $C\in -o$*.$O
  196.  
  197. $(OUT) : $C\out.cpp $(INC)\stream.hpp
  198.     $(ZTC) -DA$* $C\out -o$*.$O
  199.  
  200. _mainp.$O : $(INC)\stdio.h $(INC)\dos.h $C\_main.c
  201.     $(ZTC) $C\_main -o_mainp.$O
  202.  
  203. cx.$O: $(INC)\macros.asm c.asm x386mac.asm
  204.     masm -DI8086S -DOMF=1 -DCOFF=0 -DX386 -DM_I386 -I$(INC)\ -Mx c,$*;
  205.  
  206. cp.$O: $(INC)\macros.asm c.asm
  207.     $(MASM) c -ocp.obj
  208.  
  209. $(LB).cmd : makefile
  210.     echo $(LB) >$(LB).cmd
  211.     echo yes >>$(LB).cmd
  212.     echo +cp$A >> $(LB).cmd
  213.     echo $(FCLOSE)$A >> $(LB).cmd
  214.     echo $(FCLOSE2)$A >> $(LB).cmd
  215.     echo $(FCLOSE3)$A >> $(LB).cmd
  216.     echo $(FLTENV)$A >> $(LB).cmd
  217.     echo $(TIME)$A >> $(LB).cmd
  218.     echo $(STRINGS2A)$A >> $(LB).cmd
  219.     echo $(STRINGS2B)$A >> $(LB).cmd
  220.     echo $(STRINGS2C)$A >> $(LB).cmd
  221.     echo $(STRTOD)$A >> $(LB).cmd
  222.     echo $(FREAD)$A >> $(LB).cmd
  223.     echo $(DISP2)$A >> $(LB).cmd
  224.     echo $(LOCALE)$A >> $(LB).cmd
  225.     echo $(PERROR)$A >> $(LB).cmd
  226.     echo $(MATHOBJ)$A >> $(LB).cmd
  227.     echo $(A1)$A >> $(LB).cmd
  228.     echo $(A2)$A >> $(LB).cmd
  229.     echo $(A3)$A >> $(LB).cmd
  230.     echo $(A4)$A >> $(LB).cmd
  231.     echo $(A5)$A >> $(LB).cmd
  232.     echo $(A6)$A >> $(LB).cmd
  233.     echo $(A7)$A >> $(LB).cmd
  234.     echo $(A8)$A >> $(LB).cmd
  235.     echo $(ST1)$A >> $(LB).cmd
  236.     echo $(ST2)$A >> $(LB).cmd
  237.     echo $(ST3)$A >> $(LB).cmd
  238.     echo $(TIME2)$A >> $(LB).cmd
  239.     echo $(SYS_PL)$A >> $(LB).cmd
  240.     echo $(C1)$A >> $(LB).cmd
  241.     echo $(C2)$A >> $(LB).cmd
  242.     echo $(C3)$A >> $(LB).cmd
  243.     echo $(C4)$A >> $(LB).cmd
  244.     echo $(C5)$A >> $(LB).cmd
  245.     echo $(C6)$A >> $(LB).cmd
  246.     echo $(IS1)$A >> $(LB).cmd
  247.     echo $(IS2)$A >> $(LB).cmd
  248.     echo $(IS3)$A >> $(LB).cmd
  249.     echo $(IS4)$A >> $(LB).cmd
  250.     echo $(CPP1)$A >>$(LB).cmd
  251.     echo $(CPP2)$A >>$(LB).cmd
  252.     echo $(CPP3)$A >>$(LB).cmd
  253.     echo $(CPP4)$A >>$(LB).cmd
  254.     echo $(CPP5)$A >>$(LB).cmd
  255.     echo $(CPP6)$A >>$(LB).cmd
  256.     echo $(CPP7)$A >>$(LB).cmd
  257.     echo $(CPP8)$A >>$(LB).cmd
  258.     echo $(CPP9)$A >>$(LB).cmd
  259.     echo $(CPP10)$A >>$(LB).cmd
  260.     echo x386.lib >>$(LB).cmd
  261.     echo $(LB).lst >>$(LB).cmd
  262.  
  263. #################### Oldstreams library ####################
  264.  
  265. $(OLB).lib : $(OLDSTR) $(IN1) $(IN2) $(IN3) $(OUT) $(OLB).cmd
  266.     del $(OLB).lib
  267.     zorlib @$(OLB).cmd
  268.  
  269. $(OLB).cmd    : makefile
  270.     echo $(OLB) >$(OLB).cmd
  271.     echo $(OLB)/pagesize:16 >$(OLB).cmd
  272.     echo yes >>$(OLB).cmd
  273.     echo +$(OLDSTR)$A >>$(OLB).cmd
  274.     echo $(IN1)$A >>$(OLB).cmd
  275.     echo $(IN2)$A >>$(OLB).cmd
  276.     echo $(IN3)$A >>$(OLB).cmd
  277.     echo $(OUT) >>$(OLB).cmd
  278.     echo $(OLB).lst >>$(OLB).cmd
  279.  
  280. ###################### Miscellaneous ##########################
  281.  
  282. clean: cleana cleanc
  283.  
  284. cleanc:
  285.     for %f in ($(C1)) do del %f
  286.     for %f in ($(C2)) do del %f
  287.     for %f in ($(C3)) do del %f
  288.     for %f in ($(C4)) do del %f
  289.     for %f in ($(C5)) do del %f
  290.     for %f in ($(C6)) do del %f
  291.     for %f in ($(IS1)) do del %f
  292.     for %f in ($(IS2)) do del %f
  293.     for %f in ($(IS3)) do del %f
  294.     for %f in ($(IS4)) do del %f
  295.     for %f in ($(FCLOSE)) do del %f
  296.     for %f in ($(FCLOSE2)) do del %f
  297.     for %f in ($(FCLOSE3)) do del %f
  298.     for %f in ($(FLTENV)) do del %f
  299.     for %f in ($(FREAD)) do del %f
  300.     for %f in ($(DISP2)) do del %f
  301.     for %f in ($(LOCALE)) do del %f
  302.     for %f in ($(PERROR)) do del %f
  303.     for %f in ($(TIME)) do del %f
  304.     for %f in ($(MATHOBJ)) do del %f
  305.     for %f in ($(STRINGS2A)) do del %f
  306.     for %f in ($(STRINGS2B)) do del %f
  307.     for %f in ($(STRINGS2C)) do del %f
  308.     for %f in ($(STRTOD)) do del %f
  309.     for %f in ($(CPP1)) do del %f
  310.     for %f in ($(CPP2)) do del %f
  311.     for %f in ($(CPP3)) do del %f
  312.     for %f in ($(CPP4)) do del %f
  313.     for %f in ($(CPP5)) do del %f
  314.     for %f in ($(CPP6)) do del %f
  315.     for %f in ($(CPP7)) do del %f
  316.     for %f in ($(CPP8)) do del %f
  317.     for %f in ($(CPP9)) do del %f
  318.     for %f in ($(CPP10)) do del %f
  319.     for %f in ($(OLDSTR)) do del %f
  320.     for %f in ($(IN1)) do del %f
  321.     for %f in ($(IN2)) do del %f
  322.     for %f in ($(IN3)) do del %f
  323.     for %f in ($(OUT)) do del %f
  324.  
  325. cleana:
  326.     if exist *.bak del *.bak
  327.     for %f in ($(A1)) do del %f
  328.     for %f in ($(A2)) do del %f
  329.     for %f in ($(A3)) do del %f
  330.     for %f in ($(A4)) do del %f
  331.     for %f in ($(A5)) do del %f
  332.     for %f in ($(A6)) do del %f
  333.     for %f in ($(A7)) do del %f
  334.     for %f in ($(A8)) do del %f
  335.     for %f in ($(ST1)) do del %f
  336.     for %f in ($(ST2)) do del %f
  337.     for %f in ($(TIME2)) do del %f
  338.     for %f in ($(ST3)) do del %f
  339.     for %f in ($(SYS_PL)) do del %f
  340.     for %f in (cp.$O) do del %f
  341.     if exist *.lst del *.lst
  342.  
  343. ########################## Dependencies ######################
  344.  
  345. # ASM files
  346. fputc.$O : $(INC)\stdio.asm fputc.asm
  347. inter.$O : $(INC)\macros.asm inter.asm
  348. msmouse.$O: $(INC)\macros.asm msmouse.asm
  349. realmode.$O: $(INC)\macros.asm realmode.asm
  350. rot.$O : $(INC)\macros.asm rot.asm
  351.  
  352. # C files
  353. #ctype.$O : $(INC)\ctype.h $C\ctype.c
  354. #cxferr.$O : $(INC)\stdio.h $C\cxferr.c
  355. #ecvt.$O : $(INC)\stdlib.h $C\ecvt.c
  356. #fltenv.$O : $(INC)\fltenv.h $(INC)\float.h $C\fltenv.c
  357. #flush.$O : $(INC)\stdio.h $(INC)\stdlib.h $(INC)\io.h $C\flush.c
  358. #matherr.$O : $(INC)\stdio.h $(INC)\errno.h $(INC)\math.h \
  359. #    $(INC)\string.h $C\matherr.c
  360. #printf.$O : $(INC)\stdio.h $(INC)\stdarg.h $C\printf.c
  361. #rand.$O : $(INC)\stdlib.h $C\rand.c
  362. #scanf.$O : $(INC)\stdio.h $(INC)\stdarg.h $(INC)\ctype.h $C\scanf.c
  363. #strtol.$O : $(INC)\ctype.h $(INC)\errno.h $(INC)\stdlib.h $C\strtol.c
  364. #ungetc.$O : $(INC)\stdio.h $(INC)\io.h $C\ungetc.c
  365.