From: Mark Wooding Date: Tue, 23 Jun 2020 09:45:16 +0000 (+0100) Subject: doc/tut/greeter0/: Initial `greeter' example. X-Git-Url: https://git.distorted.org.uk/~mdw/sod/commitdiff_plain/a4c0734b7ecd9c7792d7feef8c6b8af3983cfe6d doc/tut/greeter0/: Initial `greeter' example. --- diff --git a/doc/tut/greeter0/.gitignore b/doc/tut/greeter0/.gitignore new file mode 100644 index 0000000..af794f7 --- /dev/null +++ b/doc/tut/greeter0/.gitignore @@ -0,0 +1,3 @@ +*.o +/greeter.[ch] +/greet diff --git a/doc/tut/greeter0/Makefile b/doc/tut/greeter0/Makefile new file mode 100644 index 0000000..b872e87 --- /dev/null +++ b/doc/tut/greeter0/Makefile @@ -0,0 +1,20 @@ +### -*-makefile-*- + +SOD = sod + +.SUFFIXES: .sod .c .h +.sod.c:; $(SOD) -tc $< +.sod.h:; $(SOD) -th $< +.PRECIOUS: %.c %.h + +all:: +.PHONY: all + +clean::; rm -f *.o +.PHONY: clean + +all:: greet +greet: greeter.o greet.o + $(CC) -o greet $^ -lsod +greet.o greeter.o: greeter.h +clean::; rm -f greet greeter.c greeter.h diff --git a/doc/tut/greeter0/greet.c b/doc/tut/greeter0/greet.c new file mode 100644 index 0000000..b2defd2 --- /dev/null +++ b/doc/tut/greeter0/greet.c @@ -0,0 +1,11 @@ +/* -*-c-*- */ + +#include "greeter.h" + +int main(void) +{ + SOD_DECL(Greeter, g, NO_KWARGS); + + Greeter_greet(g, stdout); + return (0); +} diff --git a/doc/tut/greeter0/greeter.sod b/doc/tut/greeter0/greeter.sod new file mode 100644 index 0000000..c5a10d3 --- /dev/null +++ b/doc/tut/greeter0/greeter.sod @@ -0,0 +1,18 @@ +/* -*-sod-*- */ + +code c: includes { +#include "greeter.h" +} + +code h: includes { +#include +#include +} + +typename FILE; + +class Greeter: SodObject { + void greet(FILE *fp) { + fputs("Hello, world!\n", fp); + } +}