# 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
syntax highlighted by Code2HTML, v. 0.9.1