tools: bmp2tiles clearer error message
[swan-dev] / Makefile
index ce76b7c..bc3b433 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,41 @@
-# simple makefile
-INC=./inc
-CC=bcc
-LD=ld86
-AS=nasm
+#
+# makefile for swan-sdk
+#
 
-all:
-       $(LD) -M src/*.o
+OUT = test.wsc
+CC = ia16-elf-gcc
+LD = ia16-elf-ld
+ODIR = obj
+ADIR = objs
+SDIR = src
+INC = -Iinc
 
-# use -x to for -ffreestanding
-c-files:
-       $(CC) -O -c src/*.c
-init:
-       $(AS) -fas86 src/*.s -i $(INC)
+CFLAGS = -march=v30# use NEC v30 chip
+CFLAGS += -ffreestanding# no stdlib
+CFLAGS += -fno-pic# for use of inline asm
 
-clean:
-       rm -rf src/*.o
+_OBJS = entry.o main.o # todo: make sure entry is forced as entry point for linker
+
+OBJS = $(patsubst %,$(ODIR)/%,$(_OBJS))
+
+LDFILE = swan.ld
+
+
+$(ODIR)/%.o: $(SDIR)/%.c
+       $(CC) -c $(INC) -o $@ $< $(CFLAGS) 
 
+$(ODIR)/entry.o: $(SDIR)/entry.S
+       $(CC) -c $(INC) -o $@ $< $(CFLAGS)
 
+$(OUT): $(OBJS)
+       $(LD) -T $(LDFILE) $^ -o $(OUT) -Map=output.map
+
+add:
+       ./romheader
+run:
+       mednafen test.wsc
+
+.PHONY: clean
+
+clean:
+       rm -f $(ODIR)/*.o $(OUT)