Skip to content

Instantly share code, notes, and snippets.

@jacobly0
Last active February 1, 2016 19:03
Show Gist options
  • Save jacobly0/5058129f75d3438c066a to your computer and use it in GitHub Desktop.
Save jacobly0/5058129f75d3438c066a to your computer and use it in GitHub Desktop.
ez80 Makefile template for linux
CEDEV ?= ..
BIN = $(CEDEV)\bin
INCLUDE = $(CEDEV)\include
WORKDIR ?= src
OUTDIR ?= src
TARGET ?= template
CC = @wine "$(BIN)\eZ80cc"
LD = @wine "$(BIN)\eZ80link"
CV = @wine "$(BIN)\convhex"
ASMSOURCES = $(wildcard *.asm)
SOURCES = $(wildcard *.c)
OBJECTS = $(SOURCES:.c=.obj)
OBJECTSLD = $(SOURCES:.c=.obj,)
OBJECTSLD += $(ASMSOURCES:.asm=.obj,)
HEADERS = .;$(CEDEV)\include\ce;$(CEDEV)\include;$(CEDEV)\include\std;$(CEDEV)\lib\ce;$(CEDEV)\lib\ce\asm
LIBRARIES = $(CEDEV)\lib\std\chelp.lib,$(CEDEV)\lib\std\crt.lib,$(CEDEV)\lib\std\crtS.lib,$(CEDEV)\lib\std\nokernel.lib,$(CEDEV)\lib\std\fplib.lib,$(CEDEV)\lib\std\fplibS.lib
STARTUPMODULE = $(CEDEV)\include\startup\cstartup.obj,
ASM_FLAGS = \
-name -define:_EZ80=1 -define:_SIMULATE=1 -include:$(HEADERS) -NOlist -NOlistmac \
-pagelen:250 -pagewidth:100 -quiet -sdiopt -warn -NOdebug -NOigcase -cpu:eZ80190
CFLAGS = \
-quiet -define:NDEBUG -define:_EZ80190 -define:_EZ80 -define:_SIMULATE -NOlistinc -NOmodsect -cpu:eZ80190 -keepasm \
-optspeed -NOreduceopt -stdinc:"$(HEADERS)" -usrinc:"." -NOdebug \
-asmsw:"$(ASM_FLAGS)" -asm $(ASMSOURCES)
LDFLAGS = @Linkcmd
LDFLAGS += $(TARGET)= $(OBJECTSLD) "$(STARTUPMODULE)" "$(LIBRARIES)"
LDFLAGS += GROUP MEMORY = ROM, RAM
all : $(TARGET).8xp
$(TARGET).hex : $(OBJECTS)
$(LD) $(LDFLAGS)
%.8xp : %.hex
$(CV) $(TARGET)
%.obj : %.c
$(CC) $(CFLAGS) $<
clean :
rm -f *.src *.obj $(TARGET).*
.PHONY : all clean
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment