summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2011-10-27 20:03:29 +0100
committernorly <ny-git@enpas.org>2011-10-27 20:03:29 +0100
commit20ac18e7adb5f692ca888e13890c50c7e8e0e695 (patch)
treefc0b3bb313bf8f54df2cd21654420c437e4790a2
parent95749712f895db5246bc95c5904507748fc66ea0 (diff)
Added C header and printing demo.
-rw-r--r--.gitignore1
-rw-r--r--Makefile25
-rw-r--r--demo-printing.c12
-rw-r--r--libmalice.h16
4 files changed, 46 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 5761abc..2c5af63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
*.o
+demo-printing
diff --git a/Makefile b/Makefile
index cdd89df..8cdac42 100644
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,26 @@
NASMFLAGS = -f elf
+CINCLUDE=
+CWARNS=-Wall -Wpointer-arith -Wnested-externs
+CFLAGS=$(CINCLUDE) $(CWARNS) -O2
+LDFLAGS=
-all: libmalice.o
+SRCDIR=src
+BINDIR=build
+
+all: libmalice.o demo-printing
libmalice.o: libmalice.asm
nasm $(NASMFLAGS) -o $@ $<
+.c.o:
+ cc $(CFLAGS) -c -o $@ $<
+
+demo-printing: demo-printing.o libmalice.o
+ ld $(LDFLAGS) -nostdlib -e _lmStart -o demo-printing demo-printing.o libmalice.o
+
+demos: demo-printing
+
.PHONY : clean
clean:
rm -f *.o
-
-.PHONY : distclean
-distclean: clean
- rm -f *~
-
-.PHONY : test
-test: all
+ rm -f demo-printing
diff --git a/demo-printing.c b/demo-printing.c
new file mode 100644
index 0000000..1399e58
--- /dev/null
+++ b/demo-printing.c
@@ -0,0 +1,12 @@
+#include "libmalice.h"
+
+int lmMain(void)
+{
+ lmPrintString("Goodbye cruel world, I had too much ");
+ lmPrintInt32s(-559038737);
+ lmPrintChar('.');
+ lmPrintChar('\n');
+ lmPrintString("Oh my, I'm still here... ok, I'll exit now.\n");
+
+ return 42;
+} \ No newline at end of file
diff --git a/libmalice.h b/libmalice.h
new file mode 100644
index 0000000..b8715dc
--- /dev/null
+++ b/libmalice.h
@@ -0,0 +1,16 @@
+#ifndef _LIBMALICE_H_
+#define _LIBMALICE_H_
+
+void _lmStart(void);
+int lmMain(void);
+
+void lmExit(int exitstatus);
+
+void lmPrintChar(int chr);
+void lmPrintString(char *string);
+void lmPrintInt32s(int num);
+
+int lmReadChar(void);
+int lmReadInt32s(void);
+
+#endif