Skip to content

Commit

Permalink
remove convhex and convcsv and add convbin
Browse files Browse the repository at this point in the history
  • Loading branch information
mateoconlechuga authored and adriweb committed Jan 11, 2020
1 parent c30ddb7 commit df9a31c
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 68 deletions.
9 changes: 3 additions & 6 deletions .gitmodules
@@ -1,15 +1,12 @@
[submodule "src/tools/convhex"]
path = tools/convhex
url = https://github.com/mateoconlechuga/convhex
[submodule "src/tools/convpng"]
path = tools/convpng
url = https://github.com/mateoconlechuga/convpng
[submodule "tools/convcsv"]
path = tools/convcsv
url = https://github.com/mateoconlechuga/convcsv.git
[submodule "tools/fasmg/fasmg-ez80"]
path = tools/fasmg/fasmg-ez80
url = https://github.com/jacobly0/fasmg-ez80.git
[submodule "tools/convfont"]
path = tools/convfont
url = https://github.com/drdnar/convfont.git
[submodule "tools/convbin"]
path = tools/convbin
url = https://github.com/mateoconlechuga/convbin.git
2 changes: 1 addition & 1 deletion examples/fontlib_font_pack/makefile
Expand Up @@ -28,7 +28,7 @@ $(BINDIR)/$(FONTPACKNAME).bin: $(SRCDIR)/drsans-06-bold.fnt $(SRCDIR)/drsans-06-
$(BINDIR)/$(FONTPACKNAME).bin

$(BINDIR)/$(FONTPACKNAME).8xv: $(BINDIR)/$(FONTPACKNAME).bin
convhex -a -v -n $(FONTPACKNAME) $(BINDIR)/$(FONTPACKNAME).bin $(BINDIR)/$(FONTPACKNAME).8xv
convbin --iformat bin --input $(BINDIR)/$(FONTPACKNAME).bin --oformat 8xv --output $(BINDIR)/$(FONTPACKNAME).8xv --archive --name $(FONTPACKNAME)

all: $(BINDIR)/$(FONTPACKNAME).8xv

Expand Down
47 changes: 24 additions & 23 deletions makefile
Expand Up @@ -55,30 +55,19 @@ APPEND_FILES = $(foreach file,$(addprefix ../../lib/$2/,$(notdir $3)),$(call APP
TOOLSDIR := $(call NATIVEPATH,$(CURDIR)/tools)
SRCDIR := $(call NATIVEPATH,$(CURDIR)/src)
FASMGDIR := $(call NATIVEPATH,$(TOOLSDIR)/fasmg)
CONVHEXDIR := $(call NATIVEPATH,$(TOOLSDIR)/convhex)
CONVBINDIR := $(call NATIVEPATH,$(TOOLSDIR)/convbin)
CONVPNGDIR := $(call NATIVEPATH,$(TOOLSDIR)/convpng)
CONVCSVDIR := $(call NATIVEPATH,$(TOOLSDIR)/convcsv)
CONVFNTDIR := $(call NATIVEPATH,$(TOOLSDIR)/convfont)
CEDIR := $(call NATIVEPATH,$(SRCDIR)/ce)
STDDIR := $(call NATIVEPATH,$(SRCDIR)/std)
STARTDIR := $(call NATIVEPATH,$(SRCDIR)/startup)
DEVLIBDIR := $(call NATIVEPATH,$(SRCDIR)/devlib)

FASMG := $(call NATIVEPATH,$(FASMGDIR)/fasmg)
CONVHEX := $(call NATIVEPATH,$(CONVHEXDIR)/convhex)
CONVPNG := $(call NATIVEPATH,$(CONVPNGDIR)/convpng)
CONVCSV := $(call NATIVEPATH,$(CONVCSVDIR)/convcsv)
CONVFONT := $(call NATIVEPATH,$(CONVFNTDIR)/convfont)
FASMG_EZ80 := $(call NATIVEPATH,$(SRCDIR)/include/ez80.inc)

ifeq ($(OS),Windows_NT)
FASMG := $(call NATIVEPATH,$(FASMGDIR)/fasmg.exe)
CONVHEX := $(call NATIVEPATH,$(CONVHEXDIR)/convhex.exe)
CONVPNG := $(call NATIVEPATH,$(CONVPNGDIR)/convpng.exe)
CONVCSV := $(call NATIVEPATH,$(CONVCSVDIR)/convcsv.exe)
CONVFONT := $(call NATIVEPATH,$(CONVFNTDIR)/convfont.exe)
endif

BIN := $(call NATIVEPATH,$(TOOLSDIR)/zds)

LIBRARYDIR = $(call NATIVEPATH,$(SRCDIR)/$1)
Expand All @@ -95,19 +84,34 @@ INSTALLST := $(call NATIVEPATH,$(CEDEVDIR)/lib/static)
INSTALLLI := $(call NATIVEPATH,$(CEDEVDIR)/lib/linked)
DIRS := $(CEDEVDIR) $(INSTALLBIN) $(INSTALLLIB) $(INSTALLINC) $(INSTALLBF) $(INSTALLLL) $(INSTALLIO) $(INSTALLSH) $(INSTALLST) $(INSTALLLI)

ifeq ($(OS),Windows_NT)
FASMG := $(call NATIVEPATH,$(FASMGDIR)/fasmg.exe)
CONVBIN := $(call NATIVEPATH,$(CONVBINDIR)/bin/convbin.exe)
CONVPNG := $(call NATIVEPATH,$(CONVPNGDIR)/convpng.exe)
CONVFONT := $(call NATIVEPATH,$(CONVFNTDIR)/convfont.exe)
MAKEBIN := $(call NATIVEPATH,$(TOOLSDIR)/make/make.exe)
CPMAKE := $(CP) $(MAKEBIN) $(INSTALLBIN)
else
FASMG := $(call NATIVEPATH,$(FASMGDIR)/fasmg)
CONVBIN := $(call NATIVEPATH,$(CONVBINDIR)/bin/convbin)
CONVPNG := $(call NATIVEPATH,$(CONVPNGDIR)/convpng)
CONVFONT := $(call NATIVEPATH,$(CONVFNTDIR)/convfont)
MAKEBIN :=
CPMAKE :=
endif

STATIC_FILES := $(wildcard src/std/static/*.src) $(patsubst src/std/static/%.c,src/std/static/build/%.src,$(wildcard src/std/static/*.c))
LINKED_FILES := $(wildcard src/std/linked/*.src) $(patsubst src/std/linked/%.c,src/std/linked/build/%.src,$(wildcard src/std/linked/*.c))
SHARED_FILES := $(wildcard src/ce/*.src src/std/shared/*.src) $(patsubst src/std/shared/%.c,src/std/shared/build/%.src,$(wildcard src/std/shared/*.c))
FILEIO_FILES := $(wildcard src/std/fileio/*.src) $(patsubst src/std/fileio/%.c,src/std/fileio/build/%.src,$(wildcard src/std/fileio/*.c))

all: $(CONVHEX) $(CONVPNG) $(CONVCSV) $(CONVFONT) $(LIBRARIES) ce std startup
all: $(CONVBIN) $(CONVPNG) $(CONVFONT) $(LIBRARIES) ce std startup
@echo Toolchain built.

clean: $(addprefix clean-,$(LIBRARIES)) clean-devlib clean-ce clean-std clean-startup
$(MAKE) -C $(FASMGDIR) clean
$(MAKE) -C $(CONVHEXDIR) clean
$(MAKE) -C $(CONVBINDIR) clean
$(MAKE) -C $(CONVPNGDIR) clean
$(MAKE) -C $(CONVCSVDIR) clean
$(MAKE) -C $(CONVFNTDIR) clean
$(RM) linker_script
$(call RMDIR,release)
Expand All @@ -120,12 +124,10 @@ clean: $(addprefix clean-,$(LIBRARIES)) clean-devlib clean-ce clean-std clean-st
$(FASMG_EZ80): $(FASMG)
$(FASMG):
$(MAKE) -C $(FASMGDIR)
$(CONVHEX):
$(MAKE) -C $(CONVHEXDIR)
$(CONVBIN):
$(MAKE) -C $(CONVBINDIR) release
$(CONVPNG):
$(MAKE) -C $(CONVPNGDIR)
$(CONVCSV):
$(MAKE) -C $(CONVCSVDIR)
$(CONVFONT):
$(MAKE) -C $(CONVFNTDIR)
#----------------------------
Expand Down Expand Up @@ -201,9 +203,8 @@ install: $(DIRS) chmod all linker_script
$(CP) $(call NATIVEPATH,$(SRCDIR)/makefile.mk) $(call NATIVEPATH,$(INSTALLINC)/.makefile)
$(CP) $(call NATIVEPATH,linker_script) $(call NATIVEPATH,$(INSTALLINC)/.linker_script)
$(CP) $(FASMG) $(INSTALLBIN)
$(CP) $(CONVHEX) $(INSTALLBIN)
$(CP) $(CONVBIN) $(INSTALLBIN)
$(CP) $(CONVPNG) $(INSTALLBIN)
$(CP) $(CONVCSV) $(INSTALLBIN)
$(CP) $(CONVFONT) $(INSTALLBIN)
$(CP) $(call NATIVEPATH,$(BIN)/*) $(INSTALLBIN)
$(MAKE) -C $(FASMGDIR) install PREFIX=$(PREFIX) DESTDIR=$(DESTDIR)
Expand All @@ -226,9 +227,9 @@ dist release: install
#----------------------------
# libraries release rules
#----------------------------
dist-libs release-libs: clibraries $(CONVHEX) $(LIBRARIES)
dist-libs release-libs: clibraries $(CONVBIN) $(LIBRARIES)
$(foreach library,$(LIBRARIES),$(CP) $(call NATIVEPATH,$(call LIBRARYDIR,$(library))/$(library).8xv) $(call NATIVEPATH,clibraries/$(library).8xv)$(newline))
$(CONVHEX) -g $(words $(LIBRARIES)) $(foreach library,$(LIBRARIES),$(call LIBRARYDIR,$(library))/$(library).8xv )$(call NATIVEPATH,clibraries/clibs.8xg)
$(CONVBIN) --oformat 8xg-auto-extract $(foreach library,$(LIBRARIES),$(addprefix --input ,$(call LIBRARYDIR,$(library))/$(library).8xv)) --output $(call NATIVEPATH,clibraries/clibs.8xg)
clibraries:
$(call MKDIR,clibraries)

Expand Down
72 changes: 36 additions & 36 deletions src/makefile.mk
Expand Up @@ -17,7 +17,7 @@ BINDIR ?= bin
GFXDIR ?= src/gfx
#----------------------------

VERSION := 8.6
VERSION := 8.7-devel

#----------------------------
# try not to edit anything below these lines unless you know what you are doing
Expand Down Expand Up @@ -50,43 +50,38 @@ MAKEDIR := $(CURDIR)
NATIVEPATH = $(subst /,\,$1)
WINPATH = $(NATIVEPATH)
WINRELPATH = $(subst /,\,$1)
RM = del /q /f 2>nul
CEDEV ?= $(call NATIVEPATH,$(realpath ..\..))
BIN ?= $(call NATIVEPATH,$(CEDEV)/bin)
LD = $(call NATIVEPATH,$(BIN)/fasmg.exe)
CC = $(call NATIVEPATH,$(BIN)/ez80cc.exe)
CV = $(call NATIVEPATH,$(BIN)/convhex.exe)
PG = $(call NATIVEPATH,$(BIN)/convpng.exe)
CONVBIN = $(call NATIVEPATH,$(BIN)/convbin.exe)
CONVPNG = $(call NATIVEPATH,$(BIN)/convpng.exe)
CD = cd
CP = copy /y
MV = move /y >nul
NULL = >nul 2>&1
RM = del /q /f >nul 2>&1
RMDIR = call && (if exist $1 rmdir /s /q $1)
MKDIR = call && (if not exist $1 mkdir $1)
QUOTE_ARG = "$(subst ",',$1)"#'
TO_LOWER = $1
else
MAKEDIR := $(CURDIR)
NATIVEPATH = $(subst \,/,$1)
WINPATH = $(shell winepath -w $1)
WINRELPATH = $(subst /,\,$1)
RM = rm -f
CEDEV ?= $(call NATIVEPATH,$(realpath ..\..))
BIN ?= $(call NATIVEPATH,$(CEDEV)/bin)
CC = $(call NATIVEPATH,wine "$(BIN)/ez80cc.exe")
LD = $(call NATIVEPATH,$(BIN)/fasmg)
CV = $(call NATIVEPATH,$(BIN)/convhex)
PG = $(call NATIVEPATH,$(BIN)/convpng)
CONVBIN = $(call NATIVEPATH,$(BIN)/convbin)
CONVPNG = $(call NATIVEPATH,$(BIN)/convpng)
CD = cd
CP = cp
MV = mv
RM = rm -f
RMDIR = rm -rf $1
MKDIR = mkdir -p $1
QUOTE_ARG = '$(subst ','\'',$1)'#'
TO_LOWER = $(shell printf %s $(call QUOTE_ARG,$1) | tr [:upper:] [:lower:])
endif

FASMG_FILES = $(subst $(space),$(comma) ,$(patsubst %,"%",$(subst ",\",$(subst \,\\,$(call NATIVEPATH,$1)))))#"
MKDIR_NATIVE = $(call MKDIR,$(call QUOTE_ARG,$(call NATIVEPATH,$1)))

FASMG_FILES = $(subst $(space),$(comma) ,$(patsubst %,"%",$(subst ",\",$(subst \,\\,$(call NATIVEPATH,$1)))))#"
LINKER_SCRIPT ?= $(CEDEV)/include/.linker_script

# ensure native paths
Expand Down Expand Up @@ -127,21 +122,28 @@ LINK_LIBLOAD := $(CEDEV)/lib/libload.lib

# check if there is an icon present that we can convert; if so, generate a recipe to build it properly
ifneq ("$(wildcard $(ICONPNG))","")
F_ICON := $(OBJDIR)/$(ICON_ASM)
ICON_CONV := $(PG) -c $(ICONPNG)$(comma)$(call NATIVEPATH,$(F_ICON))$(comma)$(DESCRIPTION)
LINK_ICON = , $(call FASMG_FILES,$(F_ICON)) used
F_ICON := $(OBJDIR)/$(ICON_ASM)
ICON_CONV := $(CONVPNG) -c $(ICONPNG)$(comma)$(call NATIVEPATH,$(F_ICON))$(comma)$(DESCRIPTION)
LINK_ICON = , $(call FASMG_FILES,$(F_ICON)) used
endif

# determine if output should be archived or compressed
# determine output target flags
ifeq ($(ARCHIVED),YES)
CVFLAGS += -a
CONVBINFLAGS += --archive
endif
ifeq ($(COMPRESSED),YES)
CVFLAGS += -x
CONVBINFLAGS += --oformat 8xp-auto-decompress
else
CONVBINFLAGS += --oformat 8xp
endif
CONVBINFLAGS += --name $(TARGET)

# link cleanup source
ifeq ($(CLEANUP),YES)
LINK_CLEANUP = , $(call FASMG_FILES,$(F_CLEANUP)) used
endif

# output debug map file
ifeq ($(OUTPUT_MAP),YES)
LDMAPFLAG = -i map
endif
Expand Down Expand Up @@ -175,45 +177,43 @@ LDFLAGS ?= \
-i $(call QUOTE_ARG,libs $(call FASMG_FILES,$(LINK_LIBLOAD)) used if libs.length$(comma) $(call FASMG_FILES,$(LINK_LIBS)))

# this rule is trigged to build everything
all: dirs $(BINDIR)/$(TARGET8XP) ;
all: $(BINDIR)/$(TARGET8XP) ;

# this rule is trigged to build debug everything
debug: LDDEBUGFLAG = -i dbg
debug: DEBUGMODE = DEBUG
debug: CCDEBUGFLAG = -debug
debug: dirs $(BINDIR)/$(TARGET8XP) ;

dirs:
@echo C CE SDK Version $(VERSION) && \
$(call MKDIR,$(BINDIR)) && \
$(call MKDIR,$(OBJDIR))
debug: $(BINDIR)/$(TARGET8XP) ;

$(BINDIR)/$(TARGET8XP): $(BINDIR)/$(TARGETBIN)
$(Q)$(CD) $(BINDIR) && \
$(CV) $(CVFLAGS) $(notdir $<) $(notdir $@)
$(Q)$(call MKDIR_NATIVE,$(@D))
$(Q)$(CONVBIN) $(CONVBINFLAGS) --input $(call QUOTE_ARG,$(call NATIVEPATH,$<)) --output $(call QUOTE_ARG,$(call NATIVEPATH,$@))

$(BINDIR)/$(TARGETBIN): $(LINK_FILES) $(F_ICON)
$(Q)$(LD) $(LDFLAGS) $@
$(Q)$(call MKDIR_NATIVE,$(@D))
$(Q)$(LD) $(LDFLAGS) $(call NATIVEPATH,$@)

# this rule handles conversion of the icon, if it is ever updated
$(OBJDIR)/$(ICON_ASM): $(ICONPNG)
$(Q)$(call MKDIR_NATIVE,$(@D))
$(Q)$(ICON_CONV)

# these rules compile the source files into object files
$(OBJDIR)/%.src: $(SRCDIR)/%.c $(USERHEADERS)
$(Q)$(call MKDIR,$(call NATIVEPATH,$(@D))) && \
$(Q)$(call MKDIR_NATIVE,$(@D))
$(Q)echo $(addprefix $(MAKEDIR)/,$<)
$(CC) $(CFLAGS) $(call QUOTE_ARG,$(call WINPATH,$(addprefix $(MAKEDIR)/,$<))) && \
$(MV) $(call QUOTE_ARG,$(call TO_LOWER,$(@F))) $(call QUOTE_ARG,$@)

clean:
$(Q)$(call RMDIR,$(OBJDIR))
$(Q)$(call RMDIR,$(BINDIR))
@echo Cleaned build files.
@echo Removed build objects and binaries.

gfx:
$(Q)$(CD) $(GFXDIR) && convpng
$(Q)$(CD) $(GFXDIR) && $(CONVPNG)

version:
@echo C SDK Version $(VERSION)
$(Q)echo CE C SDK Version $(VERSION)

.PHONY: all clean version gfx dirs debug
.PHONY: all clean version gfx debug
1 change: 1 addition & 0 deletions tools/convbin
Submodule convbin added at cfed9d
1 change: 0 additions & 1 deletion tools/convcsv
Submodule convcsv deleted from 8c9a96
1 change: 0 additions & 1 deletion tools/convhex
Submodule convhex deleted from aa7fe5

0 comments on commit df9a31c

Please sign in to comment.