# NOTE: Ideally, this file should be updated automatically by a special version # of the `updmake' perl script, similar to the one in the pc directory. # # SMakefile for Amiga SAS-C 6.51 # CC = sc CFLAGS = DEBUG=LINE DEF AMIGA IGN=161 IGN=100 IGN=7 PARAM=STACK STACKCHK IDIR="/" LDFLAGS = link SMALLDATA SMALLCODE SAVEDS LIBS = lib:sc.lib lib:amiga.lib lib:debug.lib YACC=bison -y LEX=flex SED=sed RM=delete quiet MV=rename ECHO=echo MKDEP=mkdep # where we get installed bin=C: mansrc=usr:man/man1 manext=0 # As Larry said, "Grrrr" SHELL=bin:sh OSOURCES = /c2man.h /semantic.h /symbol.h /strconcat.h confmagic.h /patchlevel.h \ /strappend.h /manpage.h /enum.h output.h /lex.l /grammar.y DCSOURCES = c2man.c /semantic.c /string.c /symbol.c /strconcat.c \ /strappend.c /manpage.c /enum.c /nroff.c /texinfo.c /latex.c /html.c /autodoc.c y.tab.c ASOURCES = popen.c /libc/getopt.c amiga.c CSOURCES = $(DCSOURCES) DCOBJECTS = c2man.o semantic.o string.o symbol.o strconcat.o \ strappend.o manpage.o enum.o nroff.o texinfo.o latex.o html.o autodoc.o \ y.tab.o OBJECTS = popen.o getopt.o amiga.o GENERATED = example.inc ctype_ex.inc y.tab.c lex.yy.c y.output \ fixexample.sed flatten.sed all: c2man sortad c2man: $(DCOBJECTS) $(OBJECTS) $(CC) $(LDFLAGS) PNAME $@.ld $(DCOBJECTS) $(OBJECTS) lib $(LIBS) NOICON slink $@.ld to $@ nd NOICONS popen.o: popen.c $(CC) $(CFLAGS) $(WARNFLAGS) popen.c getopt.o: getopt.c $(CC) $(CFLAGS) $(WARNFLAGS) getopt.c amiga.o: amiga.c $(CC) $(CFLAGS) $(WARNFLAGS) amiga.c autodoc.o: autodoc.c $(CC) $(CFLAGS) $(WARNFLAGS) autodoc.c c2man.o: c2man.c $(CC) $(CFLAGS) $(WARNFLAGS) c2man.c semantic.o: $(CC) $(CFLAGS) $(WARNFLAGS) /semantic.c OBJNAME /amiga/ string.o: $(CC) $(CFLAGS) $(WARNFLAGS) /string.c OBJNAME /amiga/ symbol.o: $(CC) $(CFLAGS) $(WARNFLAGS) /symbol.c OBJNAME /amiga/ strconcat.o: $(CC) $(CFLAGS) $(WARNFLAGS) /strconcat.c OBJNAME /amiga/ strappend.o: $(CC) $(CFLAGS) $(WARNFLAGS) /strappend.c OBJNAME /amiga/ manpage.o: $(CC) $(CFLAGS) $(WARNFLAGS) /manpage.c OBJNAME /amiga/ enum.o: $(CC) $(CFLAGS) $(WARNFLAGS) /enum.c OBJNAME /amiga/ nroff.o: $(CC) $(CFLAGS) $(WARNFLAGS) /nroff.c OBJNAME /amiga/ texinfo.o: $(CC) $(CFLAGS) $(WARNFLAGS) /texinfo.c OBJNAME /amiga/ latex.o: $(CC) $(CFLAGS) $(WARNFLAGS) /latex.c OBJNAME /amiga/ html.o: $(CC) $(CFLAGS) $(WARNFLAGS) /html.c OBJNAME /amiga/ y.tab.c: /grammar.y @$(ECHO) Expect 48 shift/reduce conflicts. $(YACC) /grammar.y # don't compile y.tab.c with all warnings; yacc/bison are not up to it. y.tab.o: y.tab.c lex.yy.c $(CC) $(CFLAGS) y.tab.c lex.yy.c: /lex.l $(LEX) -t -n /lex.l > $@ sortad: sortad.c $(CC) PNAME $@ $*.c LINK LIB lib:amiga.lib lib:sc.lib NOICON example.inc: c2man /example.h c2man -o- /example.h >/example.inc ctype_ex.inc: c2man /ctype_ex.h c2man -o- -g /ctype_ex.h >/ctype_ex.in release: ;lha -r a Release:c2man-2.0.lha c2man-2.0 aminetreadme "automated doc. from c sources (autodoc)" "dev/misc" "readme" "Release:c2man-2.0pl33" clean: $(RM) -f *.ld *.o *.s *.bak *.lnk *~ *.log $(GENERATED) core distclean: $(RM) -f *.ld *.o *.lnk lint: lint -b $(CFLAGS) $(CSOURCES) print: cpr $(SOURCES) | lpr -J'c2man' test: c2man @echo "Running c2man over the examples..." 1>&2 @for file in eg/*.[chly]; do ./c2man -v -o- $$file; done @echo "Running c2man over its own source code..." 1>&2 @for file in $(DCSOURCES); do ./c2man -v -o- $$file; done @echo "Hmmm, test seemed to go OK." 1>&2 # y.tab.c dependancies updated manually since it won't exist yet when make # depend is first run. y.tab.o: /c2man.h config.h confmagic.h /enum.h /manpage.h /semantic.h /strappend.h \ /strconcat.h /symbol.h c2man.o: c2man.c /c2man.h config.h confmagic.h /enum.h /manpage.h /output.h \ /patchlevel.h /strappend.h /strconcat.h /symbol.h semantic.o: /c2man.h config.h confmagic.h /enum.h /manpage.h /semantic.c \ /semantic.h /strconcat.h /symbol.h string.o: /c2man.h config.h confmagic.h /string.c /symbol.h symbol.o: /c2man.h config.h confmagic.h /symbol.c /symbol.h strconcat.o: /c2man.h config.h confmagic.h /strconcat.c /strconcat.h /symbol.h strappend.o: /c2man.h config.h confmagic.h /strappend.c /strappend.h /symbol.h manpage.o: /c2man.h config.h confmagic.h /manpage.c /manpage.h /output.h \ /semantic.h /strconcat.h /symbol.h enum.o: /c2man.h config.h confmagic.h /enum.c /enum.h /manpage.h /strconcat.h \ /symbol.h nroff.o: /c2man.h config.h confmagic.h /manpage.h /nroff.c output.h /symbol.h autodoc.o: /c2man.h config.h confmagic.h /manpage.h output.h /symbol.h getopt.o: getopt.c getopt.h