Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!uwvax!astroatc!brown From: brown@astroatc.UUCP (Vidiot) Newsgroups: comp.sys.ibm.pc Subject: Re: A Unix-compatible "make" for MS-DOS Message-ID: <1848@astroatc.UUCP> Date: 3 May 89 14:41:02 GMT References: <11053@bloom-beacon.MIT.EDU> Reply-To: brown@astroatc.UUCP (Vidiot) Organization: Vidiot's Hangout Lines: 219 In article <11053@bloom-beacon.MIT.EDU> drk@athena.mit.edu (David R Kohr) writes: & and >>& for redirecting standard error messages. In conjunction with con- ditional and loop directives, it is possible to redirect error messages into a file, and depending on the exit status of the compile (available with the _s_t_a_t_u_s macro), invoke an editor or remove the error file. Here is an example of the use of several of the aforementioned features in an automatic compile-edit loop. CV = !if $(CV) # if CV is not null we use CodeView CFLAGS = -Od -Zi !else CFLAGS = -Ox !endif # A default rule for .c -> .obj files. If the compile is successful, # break out of the enclosing loop (removing the error file). Otherwise, # startup the BRIEF editor and use the next_error macro to find the # first error in the source file. Note the use of >& redirection to # redirect error messages from the compiler into the error file. .c.obj: !while 1 # Loop forever - cl ${CFLAGS} -c $< >& $*.err !if $(status) == 0 !break# quit if no error !endif b -mnext_error $<# else start up BRIEF !end rm $*.err o+ Small and large model executables. The small model executable has a limit of 64K of data, which may not be enough for large or complicated makefiles. The large model executable supports up to 1M of data. o+ Update to an OS/2 version for a nominal charge as soon as we have one. We will be fully supporting OS/2. The following are available with the professional version: o+ Reduced memory usage. MAKE uses a paging scheme to reduce its memory usage from about 45000 bytes down to 2000 bytes. This makes it feasible to run MAKE from inside an editor such as BRIEF without running into memory shortage problems. This feature is crutial for memory hunger applications. o+ Polytron PVCS support. MAKE can read Polytron PVCS log files to determine the time and date of files. This ensures the correct time will be used when comparing files with sources stored in the log files. o+ Automatic makefile generator. To ease the generation and maintenance of makefiles, the MKMF program is also included. This collects a list of source files (you determine what it considers to be sources) from your working directory, option- ally scans them for include files and writes out an updated makefile with several macros corrected (most notably, OBJS). MKMF also generates a list of dependencies of object files on source files, including include files. o+ "Maximum work" flag. In addition to the -k flag (keep going, ignoring errors), there is a -K flag which is slightly dif- ferent and more useful. MAKE keeps track of which targets had errors and doesn't try to make targets which depend on these targets. -K allows the most amount of work to be done safely. It is perfectly suited for long, unattended compilations. o+ Directory caching. For a large numbers of files caching greatly speeds MAKE's lookup process. Caching is controlled by a command line flag. _C_o_s_t The professional version of OPUS MAKE is available for $79, while the personal version costs $49. Sales tax of 6 1/2 per cent must be added for California residents. Each order is subject to a $3 shipping and handling fee. We have volume discounts for profes- sional MAKE. Please contact us for details. There is a 30-day money back guarentee. If you aren't happy with the product, send it back to us and we will return your money. _U_p_g_r_a_d_e _p_o_l_i_c_y In recognition of its birth as the shareware product NDMAKE, OPUS MAKE is available as an upgrade for registered owners of NDMAKE. The upgrade cost for the professional version is $44, for the personal version is $14. This is subject to California sales tax of 6 1/2 per cent and a $3 shipping and handling fee. Volume discounts apply for upgrading to the professional version. _O_r_d_e_r_i_n_g _d_e_t_a_i_l_s To place an order, contact us at: OPUS Software 1468 - 8th ave San Francisco CA, 94122 phone: (415) 731-3108 (this number may change) If you can't reach us at that number and you have any questions, contact us at: Don Kneller John Thomason (415) 476-8291 (days) 759-8347 (home) -- harvard\ att!nicmad\ Vidiot ucbvax!uwvax..........!astroatc!brown rutgers/ decvax!nicmad/ ARPA/INTERNET: brown%astroatc.UUCP@spool.cs.wisc.edu