Major project layout change. Source locations now more match where binaries end up.
This commit is contained in:
parent
dcd120d769
commit
e6305db3b5
737 changed files with 589 additions and 480 deletions
181
Makefile
181
Makefile
|
|
@ -2,131 +2,164 @@
|
||||||
#
|
#
|
||||||
# Builds the full DVX stack: core library, task switcher,
|
# Builds the full DVX stack: core library, task switcher,
|
||||||
# bootstrap loader, text help library, widgets, shell, and apps.
|
# bootstrap loader, text help library, widgets, shell, and apps.
|
||||||
|
#
|
||||||
|
# Source tree mirrors bin/ layout:
|
||||||
|
# src/libs/kpunch/<libname>/ -> bin/libs/kpunch/<libname>/<libname>.lib
|
||||||
|
# src/widgets/kpunch/<widget>/ -> bin/widgets/kpunch/<widget>/<widget>.wgt
|
||||||
|
# src/apps/kpunch/<app>/ -> bin/apps/kpunch/<app>/<app>.app
|
||||||
|
# src/loader/ -> bin/DVX.EXE
|
||||||
|
# src/tools/ -> bin/host/<tool>
|
||||||
|
|
||||||
.PHONY: all clean core tasks loader texthelp listhelp widgets shell taskmgr serial sql apps tools deploy-helpsrc compile-help deploy-sdk
|
.PHONY: all clean libdvx libtasks loader texthelp listhelp widgets dvxshell taskmgr serial sql apps tools deploy-helpsrc compile-help deploy-sdk
|
||||||
|
|
||||||
all: core tasks loader texthelp listhelp tools widgets shell taskmgr serial sql apps deploy-helpsrc compile-help deploy-sdk
|
all: libdvx libtasks loader texthelp listhelp tools widgets dvxshell taskmgr serial sql apps deploy-helpsrc compile-help deploy-sdk
|
||||||
|
|
||||||
core:
|
libdvx:
|
||||||
$(MAKE) -C core
|
$(MAKE) -C src/libs/kpunch/libdvx
|
||||||
|
|
||||||
tasks:
|
libtasks:
|
||||||
$(MAKE) -C tasks
|
$(MAKE) -C src/libs/kpunch/libtasks
|
||||||
|
|
||||||
loader: core tasks
|
loader: libdvx libtasks
|
||||||
$(MAKE) -C loader
|
$(MAKE) -C src/loader
|
||||||
|
|
||||||
texthelp: core tasks
|
texthelp: libdvx libtasks
|
||||||
$(MAKE) -C texthelp
|
$(MAKE) -C src/libs/kpunch/texthelp
|
||||||
|
|
||||||
listhelp: core tasks
|
listhelp: libdvx libtasks
|
||||||
$(MAKE) -C listhelp
|
$(MAKE) -C src/libs/kpunch/listhelp
|
||||||
|
|
||||||
widgets: core tasks texthelp listhelp
|
widgets: libdvx libtasks texthelp listhelp
|
||||||
$(MAKE) -C widgets
|
$(MAKE) -C src/widgets/kpunch
|
||||||
|
|
||||||
shell: core tasks
|
dvxshell: libdvx libtasks
|
||||||
$(MAKE) -C shell
|
$(MAKE) -C src/libs/kpunch/dvxshell
|
||||||
|
|
||||||
taskmgr: shell
|
taskmgr: dvxshell
|
||||||
$(MAKE) -C taskmgr
|
$(MAKE) -C src/libs/kpunch/taskmgr
|
||||||
|
|
||||||
serial: core tasks
|
serial: libdvx libtasks
|
||||||
$(MAKE) -C serial
|
$(MAKE) -C src/libs/kpunch/serial
|
||||||
|
|
||||||
sql: core tasks
|
sql: libdvx libtasks
|
||||||
$(MAKE) -C sql
|
$(MAKE) -C src/libs/kpunch/sql
|
||||||
|
|
||||||
tools:
|
tools:
|
||||||
$(MAKE) -C tools
|
$(MAKE) -C src/tools
|
||||||
|
|
||||||
apps: core tasks shell tools
|
apps: libdvx libtasks dvxshell tools
|
||||||
$(MAKE) -C apps
|
$(MAKE) -C src/apps/kpunch
|
||||||
|
|
||||||
deploy-helpsrc:
|
deploy-helpsrc:
|
||||||
$(MAKE) -C tools deploy-helpsrc
|
$(MAKE) -C src/tools deploy-helpsrc
|
||||||
|
|
||||||
HLPC = bin/host/dvxhlpc
|
HLPC = bin/host/dvxhlpc
|
||||||
|
|
||||||
SYSTEM_DHS = core/sysdoc.dhs \
|
SYSTEM_DHS = src/libs/kpunch/libdvx/sysdoc.dhs \
|
||||||
core/arch.dhs core/apiref.dhs \
|
src/libs/kpunch/libdvx/arch.dhs src/libs/kpunch/libdvx/apiref.dhs \
|
||||||
tasks/libtasks.dhs shell/dvxshell.dhs sql/dvxsql.dhs \
|
src/libs/kpunch/libtasks/libtasks.dhs src/libs/kpunch/dvxshell/dvxshell.dhs src/libs/kpunch/sql/dvxsql.dhs \
|
||||||
texthelp/texthelp.dhs listhelp/listhelp.dhs \
|
src/libs/kpunch/texthelp/texthelp.dhs src/libs/kpunch/listhelp/listhelp.dhs \
|
||||||
taskmgr/taskmgr.dhs serial/serial.dhs \
|
src/libs/kpunch/taskmgr/taskmgr.dhs src/libs/kpunch/serial/serial.dhs \
|
||||||
apps/dvxbasic/basrt.dhs \
|
src/apps/kpunch/dvxbasic/basrt.dhs \
|
||||||
widgets/wgtsys.dhs
|
src/widgets/kpunch/wgtsys.dhs
|
||||||
|
|
||||||
BASIC_DHS = apps/dvxbasic/ideguide.dhs apps/dvxbasic/langref.dhs \
|
BASIC_DHS = src/apps/kpunch/dvxbasic/ideguide.dhs src/apps/kpunch/dvxbasic/langref.dhs \
|
||||||
apps/dvxbasic/ctrlover.dhs apps/dvxbasic/form.dhs
|
src/apps/kpunch/dvxbasic/ctrlover.dhs src/apps/kpunch/dvxbasic/form.dhs
|
||||||
|
|
||||||
compile-help:
|
compile-help:
|
||||||
@mkdir -p docs
|
@mkdir -p docs
|
||||||
$(HLPC) -o bin/apps/kpunch/dvxhelp/dvxhelp.hlp \
|
$(HLPC) -o bin/apps/kpunch/dvxhelp/dvxhelp.hlp \
|
||||||
--html docs/dvx_help_viewer.html \
|
--html docs/dvx_help_viewer.html \
|
||||||
apps/dvxhelp/help.dhs
|
src/apps/kpunch/dvxhelp/help.dhs
|
||||||
$(HLPC) -o bin/apps/kpunch/progman/dvxhelp.hlp \
|
$(HLPC) -o bin/apps/kpunch/progman/dvxhelp.hlp \
|
||||||
--html docs/dvx_system_reference.html \
|
--html docs/dvx_system_reference.html \
|
||||||
-i core \
|
-i src/libs/kpunch/libdvx \
|
||||||
$(SYSTEM_DHS) \
|
$(SYSTEM_DHS) \
|
||||||
$$(find widgets -name "*.dhs" ! -path "widgets/wgtsys.dhs" | sort)
|
$$(find src/widgets/kpunch -name "*.dhs" ! -path "*/wgtsys.dhs" | sort)
|
||||||
$(HLPC) -o bin/apps/kpunch/dvxbasic/dvxbasic.hlp \
|
$(HLPC) -o bin/apps/kpunch/dvxbasic/dvxbasic.hlp \
|
||||||
--html docs/dvx_basic_reference.html \
|
--html docs/dvx_basic_reference.html \
|
||||||
$(BASIC_DHS) \
|
$(BASIC_DHS) \
|
||||||
$$(find widgets -name "*.bhs" | sort)
|
$$(find src/widgets/kpunch -name "*.bhs" | sort)
|
||||||
|
|
||||||
SDKDIR = bin/sdk
|
SDKDIR = bin/sdk
|
||||||
|
|
||||||
deploy-sdk:
|
deploy-sdk:
|
||||||
@echo "Building SDK..."
|
@echo "Building SDK..."
|
||||||
@mkdir -p $(SDKDIR)/include/core $(SDKDIR)/include/shell $(SDKDIR)/include/tasks $(SDKDIR)/include/sql
|
@mkdir -p $(SDKDIR)/include/core $(SDKDIR)/include/shell $(SDKDIR)/include/tasks $(SDKDIR)/include/sql $(SDKDIR)/include/basic
|
||||||
@mkdir -p $(SDKDIR)/samples/hello $(SDKDIR)/samples/widget
|
@# Core headers (libdvx public API)
|
||||||
@# Core headers
|
@for f in src/libs/kpunch/libdvx/dvxApp.h src/libs/kpunch/libdvx/dvxTypes.h \
|
||||||
@for f in core/dvxApp.h core/dvxTypes.h core/dvxWgt.h core/dvxWgtP.h \
|
src/libs/kpunch/libdvx/dvxWgt.h src/libs/kpunch/libdvx/dvxWgtP.h \
|
||||||
core/dvxWm.h core/dvxDraw.h core/dvxVideo.h core/dvxComp.h \
|
src/libs/kpunch/libdvx/dvxWm.h src/libs/kpunch/libdvx/dvxDraw.h \
|
||||||
core/dvxPrefs.h core/dvxDlg.h core/dvxRes.h core/dvxFont.h \
|
src/libs/kpunch/libdvx/dvxVideo.h src/libs/kpunch/libdvx/dvxComp.h \
|
||||||
core/dvxCur.h core/dvxPal.h core/dvxPlat.h; do \
|
src/libs/kpunch/libdvx/dvxPrefs.h src/libs/kpunch/libdvx/dvxDlg.h \
|
||||||
[ -f "$$f" ] || continue; \
|
src/libs/kpunch/libdvx/dvxRes.h src/libs/kpunch/libdvx/dvxFont.h \
|
||||||
cp "$$f" $(SDKDIR)/include/core/; \
|
src/libs/kpunch/libdvx/dvxCur.h src/libs/kpunch/libdvx/dvxPal.h \
|
||||||
|
src/libs/kpunch/libdvx/dvxMem.h src/libs/kpunch/libdvx/platform/dvxPlat.h; do \
|
||||||
|
[ -f "$$f" ] && cp "$$f" $(SDKDIR)/include/core/; \
|
||||||
done
|
done
|
||||||
@# Shell header
|
@# Shell header
|
||||||
@cp shell/shellApp.h $(SDKDIR)/include/shell/ 2>/dev/null || true
|
@cp src/libs/kpunch/dvxshell/shellApp.h $(SDKDIR)/include/shell/
|
||||||
|
@cp src/libs/kpunch/dvxshell/shellInf.h $(SDKDIR)/include/shell/
|
||||||
@# Tasks header
|
@# Tasks header
|
||||||
@for f in tasks/taskSwch.h tasks/taskswitch.h; do \
|
@cp src/libs/kpunch/libtasks/taskSwch.h $(SDKDIR)/include/tasks/
|
||||||
[ -f "$$f" ] && cp "$$f" $(SDKDIR)/include/tasks/ && break; \
|
|
||||||
done
|
|
||||||
@# SQL header
|
@# SQL header
|
||||||
@cp sql/dvxSql.h $(SDKDIR)/include/sql/ 2>/dev/null || true
|
@cp src/libs/kpunch/sql/dvxSql.h $(SDKDIR)/include/sql/
|
||||||
@# Widget headers — one per widget
|
@# Widget headers -- one subdir per widget
|
||||||
@for d in widgets/*/; do \
|
@for d in src/widgets/kpunch/*/; do \
|
||||||
for h in "$$d"*.h; do \
|
for h in "$$d"*.h; do \
|
||||||
[ -f "$$h" ] || continue; \
|
[ -f "$$h" ] || continue; \
|
||||||
base=$$(basename "$$h"); \
|
|
||||||
wgt=$$(basename "$$d"); \
|
wgt=$$(basename "$$d"); \
|
||||||
mkdir -p $(SDKDIR)/include/widget/"$$wgt"; \
|
mkdir -p $(SDKDIR)/include/widget/"$$wgt"; \
|
||||||
cp "$$h" $(SDKDIR)/include/widget/"$$wgt"/; \
|
cp "$$h" $(SDKDIR)/include/widget/"$$wgt"/; \
|
||||||
done; \
|
done; \
|
||||||
done
|
done
|
||||||
@# BASIC include files
|
@# BASIC include files
|
||||||
@mkdir -p $(SDKDIR)/include/basic
|
@cp src/include/basic/*.bas $(SDKDIR)/include/basic/
|
||||||
@cp sdk/include/basic/*.bas $(SDKDIR)/include/basic/ 2>/dev/null || true
|
@# README
|
||||||
@# Samples and readme
|
@printf '%s\n' \
|
||||||
@cp -r sdk/samples $(SDKDIR)/
|
'DVX SDK' \
|
||||||
@cp sdk/readme.txt $(SDKDIR)/README.TXT
|
'=======' \
|
||||||
|
'' \
|
||||||
|
'Headers for developing applications and widgets against the DVX GUI.' \
|
||||||
|
'' \
|
||||||
|
'Directory Structure' \
|
||||||
|
'-------------------' \
|
||||||
|
'' \
|
||||||
|
' include/' \
|
||||||
|
' core/ DVX core headers (types, drawing, windows, widgets)' \
|
||||||
|
' shell/ Shell/app loading API' \
|
||||||
|
' tasks/ Cooperative task switching API' \
|
||||||
|
' sql/ SQLite database wrapper API' \
|
||||||
|
' widget/ Per-widget public API headers' \
|
||||||
|
' basic/ BASIC include files (DECLARE LIBRARY modules)' \
|
||||||
|
'' \
|
||||||
|
'Requirements' \
|
||||||
|
'------------' \
|
||||||
|
'' \
|
||||||
|
' - DJGPP cross-compiler (i586-pc-msdosdjgpp-gcc)' \
|
||||||
|
' - dxe3gen (included with DJGPP)' \
|
||||||
|
' - DVX resource compiler (SYSTEM/DVXRES.EXE on the target,' \
|
||||||
|
' or bin/host/dvxres on the host)' \
|
||||||
|
' - DVX help compiler (SYSTEM/DVXHLPC.EXE on the target,' \
|
||||||
|
' or bin/host/dvxhlpc on the host)' \
|
||||||
|
'' \
|
||||||
|
'For complete working examples, see the app sources under' \
|
||||||
|
'src/apps/kpunch/ in the DVX repository.' \
|
||||||
|
> $(SDKDIR)/README.TXT
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C core clean
|
$(MAKE) -C src/libs/kpunch/libdvx clean
|
||||||
$(MAKE) -C tasks clean
|
$(MAKE) -C src/libs/kpunch/libtasks clean
|
||||||
$(MAKE) -C loader clean
|
$(MAKE) -C src/loader clean
|
||||||
$(MAKE) -C texthelp clean
|
$(MAKE) -C src/libs/kpunch/texthelp clean
|
||||||
$(MAKE) -C listhelp clean
|
$(MAKE) -C src/libs/kpunch/listhelp clean
|
||||||
$(MAKE) -C widgets clean
|
$(MAKE) -C src/widgets/kpunch clean
|
||||||
$(MAKE) -C shell clean
|
$(MAKE) -C src/libs/kpunch/dvxshell clean
|
||||||
$(MAKE) -C taskmgr clean
|
$(MAKE) -C src/libs/kpunch/taskmgr clean
|
||||||
$(MAKE) -C serial clean
|
$(MAKE) -C src/libs/kpunch/serial clean
|
||||||
$(MAKE) -C sql clean
|
$(MAKE) -C src/libs/kpunch/sql clean
|
||||||
$(MAKE) -C apps clean
|
$(MAKE) -C src/apps/kpunch clean
|
||||||
$(MAKE) -C tools clean
|
$(MAKE) -C src/tools clean
|
||||||
-rmdir obj 2>/dev/null
|
-rmdir obj 2>/dev/null
|
||||||
-rm -rf bin/config bin/widgets bin/libs bin/sdk
|
-rm -rf bin/config bin/widgets bin/libs bin/sdk
|
||||||
-rm -f docs/*.html
|
-rm -f docs/*.html
|
||||||
-rmdir bin/apps/kpunch/cpanel bin/apps/kpunch/imgview bin/apps/kpunch/progman bin/apps/kpunch/notepad bin/apps/kpunch/clock bin/apps/kpunch/dvxdemo bin/apps/kpunch bin/apps bin 2>/dev/null
|
|
||||||
|
|
|
||||||
166
apps/Makefile
166
apps/Makefile
|
|
@ -1,166 +0,0 @@
|
||||||
# DVX Shell Applications Makefile -- builds DXE3 modules
|
|
||||||
|
|
||||||
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
|
||||||
DJGPP_LIBPATH = $(HOME)/claude/windriver/tools/lib
|
|
||||||
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
|
||||||
DXE3GEN = PATH=$(DJGPP_PREFIX)/bin:$(PATH) DJDIR=$(DJGPP_PREFIX)/i586-pc-msdosdjgpp $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/dxe3gen
|
|
||||||
CFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../core -I../core/platform -I../core/thirdparty -I../widgets -I../tasks -I../core/thirdparty -I../shell
|
|
||||||
|
|
||||||
OBJDIR = ../obj/apps
|
|
||||||
BINDIR = ../bin/apps
|
|
||||||
DVXRES = ../bin/host/dvxres
|
|
||||||
|
|
||||||
# App definitions: each is a subdir with a single .c file
|
|
||||||
APPS = progman clock dvxdemo cpanel dvxhelp
|
|
||||||
|
|
||||||
BASCOMP = ../bin/host/bascomp
|
|
||||||
BASICAPPS = iconed notepad-bas imgview-bas helpedit resedit basicdemo
|
|
||||||
|
|
||||||
.PHONY: all clean $(APPS) dvxbasic $(BASICAPPS)
|
|
||||||
|
|
||||||
all: $(APPS) dvxbasic $(BASICAPPS)
|
|
||||||
|
|
||||||
dvxbasic:
|
|
||||||
$(MAKE) -C dvxbasic
|
|
||||||
|
|
||||||
cpanel: $(BINDIR)/kpunch/cpanel/cpanel.app
|
|
||||||
imgview: $(BINDIR)/kpunch/imgview/imgview.app
|
|
||||||
progman: $(BINDIR)/kpunch/progman/progman.app
|
|
||||||
notepad: $(BINDIR)/kpunch/notepad/notepad.app
|
|
||||||
clock: $(BINDIR)/kpunch/clock/clock.app
|
|
||||||
dvxdemo: $(BINDIR)/kpunch/dvxdemo/dvxdemo.app
|
|
||||||
dvxhelp: $(BINDIR)/kpunch/dvxhelp/dvxhelp.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/cpanel/cpanel.app: $(OBJDIR)/cpanel.o cpanel/cpanel.res cpanel/icon32.bmp | $(BINDIR)/kpunch/cpanel
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd cpanel && ../$(DVXRES) build ../$@ cpanel.res
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/imgview/imgview.app: $(OBJDIR)/imgview.o imgview/imgview.res imgview/icon32.bmp | $(BINDIR)/kpunch/imgview
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd imgview && ../$(DVXRES) build ../$@ imgview.res
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/progman/progman.app: $(OBJDIR)/progman.o | $(BINDIR)/kpunch/progman
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/notepad/notepad.app: $(OBJDIR)/notepad.o notepad/notepad.res notepad/icon32.bmp | $(BINDIR)/kpunch/notepad
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd notepad && ../$(DVXRES) build ../$@ notepad.res
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/clock/clock.app: $(OBJDIR)/clock.o clock/clock.res clock/icon32.bmp | $(BINDIR)/kpunch/clock
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd clock && ../$(DVXRES) build ../$@ clock.res
|
|
||||||
|
|
||||||
DVXDEMO_BMPS = logo.bmp new.bmp open.bmp sample.bmp save.bmp
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/dvxdemo/dvxdemo.app: $(OBJDIR)/dvxdemo.o $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) dvxdemo/dvxdemo.res dvxdemo/icon32.bmp | $(BINDIR)/kpunch/dvxdemo
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd dvxdemo && ../$(DVXRES) build ../$@ dvxdemo.res
|
|
||||||
cp $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) $(BINDIR)/kpunch/dvxdemo/
|
|
||||||
|
|
||||||
$(OBJDIR)/cpanel.o: cpanel/cpanel.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/imgview.o: imgview/imgview.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/progman.o: progman/progman.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/notepad.o: notepad/notepad.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/clock.o: clock/clock.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/dvxdemo.o: dvxdemo/dvxdemo.c | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/dvxhelp/dvxhelp.app: $(OBJDIR)/dvxhelp.o dvxhelp/dvxhelp.res dvxhelp/icon32.bmp | $(BINDIR)/kpunch/dvxhelp
|
|
||||||
$(DXE3GEN) -o $@ -U $<
|
|
||||||
cd dvxhelp && ../$(DVXRES) build ../$@ dvxhelp.res
|
|
||||||
|
|
||||||
$(OBJDIR)/dvxhelp.o: dvxhelp/dvxhelp.c dvxhelp/hlpformat.h | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
# BASIC apps (compiled from .dbp projects via bascomp)
|
|
||||||
iconed: $(BINDIR)/kpunch/iconed/iconed.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/iconed/iconed.app: ../sdk/samples/basic/iconed/iconed.dbp ../sdk/samples/basic/iconed/iconed.frm ../sdk/samples/basic/iconed/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/iconed dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/iconed/iconed.dbp -o $@ -release
|
|
||||||
|
|
||||||
notepad-bas: $(BINDIR)/kpunch/notepad/notepad.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/notepad/notepad.app: ../sdk/samples/basic/notepad/notepad.dbp ../sdk/samples/basic/notepad/notepad.frm ../sdk/samples/basic/notepad/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/notepad dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/notepad/notepad.dbp -o $@ -release
|
|
||||||
|
|
||||||
imgview-bas: $(BINDIR)/kpunch/imgview/imgview.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/imgview/imgview.app: ../sdk/samples/basic/imgview/imgview.dbp ../sdk/samples/basic/imgview/imgview.frm ../sdk/samples/basic/imgview/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/imgview dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/imgview/imgview.dbp -o $@ -release
|
|
||||||
|
|
||||||
helpedit: $(BINDIR)/kpunch/dvxhelp/helpedit.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/dvxhelp/helpedit.app: ../sdk/samples/basic/helpedit/helpedit.dbp ../sdk/samples/basic/helpedit/helpedit.frm ../sdk/samples/basic/helpedit/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/dvxhelp dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/helpedit/helpedit.dbp -o $@ -release
|
|
||||||
$(DVXRES) add $@ helpfile text "dvxhelp.hlp"
|
|
||||||
|
|
||||||
resedit: $(BINDIR)/kpunch/resedit/resedit.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/resedit/resedit.app: ../sdk/samples/basic/resedit/resedit.dbp ../sdk/samples/basic/resedit/resedit.frm ../sdk/samples/basic/resedit/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/resedit dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/resedit/resedit.dbp -o $@ -release
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/resedit:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/resedit
|
|
||||||
|
|
||||||
basicdemo: $(BINDIR)/kpunch/basicdemo/basicdemo.app
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/basicdemo/basicdemo.app: ../sdk/samples/basic/basicdemo/basicdemo.dbp ../sdk/samples/basic/basicdemo/basicdemo.frm ../sdk/samples/basic/basicdemo/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/basicdemo dvxbasic
|
|
||||||
$(BASCOMP) ../sdk/samples/basic/basicdemo/basicdemo.dbp -o $@ -release
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/basicdemo:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/basicdemo
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/iconed:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/iconed
|
|
||||||
|
|
||||||
$(OBJDIR):
|
|
||||||
mkdir -p $(OBJDIR)
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/cpanel:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/cpanel
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/imgview:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/imgview
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/progman:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/progman
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/notepad:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/notepad
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/clock:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/clock
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/dvxdemo:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/dvxdemo
|
|
||||||
|
|
||||||
$(BINDIR)/kpunch/dvxhelp:
|
|
||||||
mkdir -p $(BINDIR)/kpunch/dvxhelp
|
|
||||||
|
|
||||||
# Dependencies
|
|
||||||
$(OBJDIR)/imgview.o: imgview/imgview.c ../core/dvxApp.h ../core/dvxDlg.h ../core/dvxWgt.h ../core/dvxWm.h ../core/dvxVideo.h ../shell/shellApp.h
|
|
||||||
$(OBJDIR)/cpanel.o: cpanel/cpanel.c ../core/dvxApp.h ../core/dvxDlg.h ../core/dvxPrefs.h ../core/dvxWgt.h ../core/dvxWm.h ../core/platform/dvxPlat.h ../shell/shellApp.h
|
|
||||||
$(OBJDIR)/progman.o: progman/progman.c ../core/dvxApp.h ../core/dvxDlg.h ../core/dvxWgt.h ../core/dvxWm.h ../shell/shellApp.h ../shell/shellInf.h
|
|
||||||
$(OBJDIR)/notepad.o: notepad/notepad.c ../core/dvxApp.h ../core/dvxDlg.h ../core/dvxWgt.h ../core/dvxWm.h ../shell/shellApp.h
|
|
||||||
$(OBJDIR)/clock.o: clock/clock.c ../core/dvxApp.h ../core/dvxWgt.h ../core/dvxDraw.h ../core/dvxVideo.h ../shell/shellApp.h ../tasks/taskSwch.h
|
|
||||||
$(OBJDIR)/dvxdemo.o: dvxdemo/dvxdemo.c ../core/dvxApp.h ../core/dvxDlg.h ../core/dvxWgt.h ../core/dvxWm.h ../core/dvxVideo.h ../shell/shellApp.h
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(OBJDIR)/cpanel.o $(OBJDIR)/imgview.o $(OBJDIR)/progman.o $(OBJDIR)/notepad.o $(OBJDIR)/clock.o $(OBJDIR)/dvxdemo.o
|
|
||||||
rm -f $(BINDIR)/kpunch/cpanel/cpanel.app
|
|
||||||
rm -f $(BINDIR)/kpunch/imgview/imgview.app
|
|
||||||
rm -f $(BINDIR)/kpunch/progman/progman.app
|
|
||||||
rm -f $(BINDIR)/kpunch/notepad/notepad.app
|
|
||||||
rm -f $(BINDIR)/kpunch/clock/clock.app
|
|
||||||
rm -f $(BINDIR)/kpunch/dvxdemo/dvxdemo.app $(addprefix $(BINDIR)/kpunch/dvxdemo/,$(DVXDEMO_BMPS))
|
|
||||||
$(MAKE) -C dvxbasic clean
|
|
||||||
25
config/themes/hotdog.thm
Normal file
25
config/themes/hotdog.thm
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
; DVX Color Theme - Hot Dog Stand
|
||||||
|
; The infamous Windows 3.1 color scheme. Yellow, red, black.
|
||||||
|
; Included here for historical authenticity and eye strain.
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
desktop = 255,255,0
|
||||||
|
windowFace = 255,255,0
|
||||||
|
windowHighlight = 255,255,255
|
||||||
|
windowShadow = 0,0,0
|
||||||
|
activeTitleBg = 255,0,0
|
||||||
|
activeTitleFg = 255,255,255
|
||||||
|
inactiveTitleBg = 255,255,255
|
||||||
|
inactiveTitleFg = 0,0,0
|
||||||
|
contentBg = 255,255,255
|
||||||
|
contentFg = 0,0,0
|
||||||
|
menuBg = 255,255,255
|
||||||
|
menuFg = 0,0,0
|
||||||
|
menuHighlightBg = 255,0,0
|
||||||
|
menuHighlightFg = 255,255,255
|
||||||
|
buttonFace = 255,255,0
|
||||||
|
scrollbarBg = 255,255,0
|
||||||
|
scrollbarFg = 0,0,0
|
||||||
|
scrollbarTrough = 255,255,255
|
||||||
|
cursorColor = 255,255,0
|
||||||
|
cursorOutline = 0,0,0
|
||||||
135
src/apps/kpunch/Makefile
Normal file
135
src/apps/kpunch/Makefile
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
# DVX Shell Applications Makefile -- builds DXE3 modules
|
||||||
|
#
|
||||||
|
# Source tree is now one dir per app, mirroring bin/apps/kpunch/.
|
||||||
|
|
||||||
|
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
||||||
|
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
||||||
|
DXE3GEN = PATH=$(DJGPP_PREFIX)/bin:$(PATH) DJDIR=$(DJGPP_PREFIX)/i586-pc-msdosdjgpp $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/dxe3gen
|
||||||
|
CFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../../libs/kpunch/libdvx -I../../libs/kpunch/libdvx/platform -I../../libs/kpunch/libdvx/thirdparty -I../../widgets/kpunch -I../../libs/kpunch/libtasks -I../../libs/kpunch/dvxshell
|
||||||
|
|
||||||
|
OBJDIR = ../../../obj/apps
|
||||||
|
BINDIR = ../../../bin/apps
|
||||||
|
DVXRES = ../../../bin/host/dvxres
|
||||||
|
|
||||||
|
# C apps: one directory, one .c file each
|
||||||
|
C_APPS = progman clock dvxdemo cpanel dvxhelp
|
||||||
|
|
||||||
|
BASCOMP = ../../../bin/host/bascomp
|
||||||
|
# BASIC apps: each is a .dbp project in its own directory.
|
||||||
|
# BASIC-only notepad, imgview, etc. replace the old C versions.
|
||||||
|
BASIC_APPS = iconed notepad imgview helpedit resedit basicdemo
|
||||||
|
|
||||||
|
.PHONY: all clean $(C_APPS) dvxbasic $(BASIC_APPS)
|
||||||
|
|
||||||
|
all: $(C_APPS) dvxbasic $(BASIC_APPS)
|
||||||
|
|
||||||
|
dvxbasic:
|
||||||
|
$(MAKE) -C dvxbasic
|
||||||
|
|
||||||
|
cpanel: $(BINDIR)/kpunch/cpanel/cpanel.app
|
||||||
|
progman: $(BINDIR)/kpunch/progman/progman.app
|
||||||
|
clock: $(BINDIR)/kpunch/clock/clock.app
|
||||||
|
dvxdemo: $(BINDIR)/kpunch/dvxdemo/dvxdemo.app
|
||||||
|
dvxhelp: $(BINDIR)/kpunch/dvxhelp/dvxhelp.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/cpanel/cpanel.app: $(OBJDIR)/cpanel.o cpanel/cpanel.res cpanel/icon32.bmp | $(BINDIR)/kpunch/cpanel
|
||||||
|
$(DXE3GEN) -o $@ -U $<
|
||||||
|
cd cpanel && ../$(DVXRES) build ../$@ cpanel.res
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/progman/progman.app: $(OBJDIR)/progman.o | $(BINDIR)/kpunch/progman
|
||||||
|
$(DXE3GEN) -o $@ -U $<
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/clock/clock.app: $(OBJDIR)/clock.o clock/clock.res clock/icon32.bmp | $(BINDIR)/kpunch/clock
|
||||||
|
$(DXE3GEN) -o $@ -U $<
|
||||||
|
cd clock && ../$(DVXRES) build ../$@ clock.res
|
||||||
|
|
||||||
|
DVXDEMO_BMPS = logo.bmp new.bmp open.bmp sample.bmp save.bmp
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/dvxdemo/dvxdemo.app: $(OBJDIR)/dvxdemo.o $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) dvxdemo/dvxdemo.res dvxdemo/icon32.bmp | $(BINDIR)/kpunch/dvxdemo
|
||||||
|
$(DXE3GEN) -o $@ -U $<
|
||||||
|
cd dvxdemo && ../$(DVXRES) build ../$@ dvxdemo.res
|
||||||
|
cp $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) $(BINDIR)/kpunch/dvxdemo/
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/dvxhelp/dvxhelp.app: $(OBJDIR)/dvxhelp.o dvxhelp/dvxhelp.res dvxhelp/icon32.bmp | $(BINDIR)/kpunch/dvxhelp
|
||||||
|
$(DXE3GEN) -o $@ -U $<
|
||||||
|
cd dvxhelp && ../$(DVXRES) build ../$@ dvxhelp.res
|
||||||
|
|
||||||
|
$(OBJDIR)/cpanel.o: cpanel/cpanel.c | $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
$(OBJDIR)/progman.o: progman/progman.c | $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
$(OBJDIR)/clock.o: clock/clock.c | $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
$(OBJDIR)/dvxdemo.o: dvxdemo/dvxdemo.c | $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
$(OBJDIR)/dvxhelp.o: dvxhelp/dvxhelp.c dvxhelp/hlpformat.h | $(OBJDIR)
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
# BASIC apps (compiled from .dbp projects via bascomp). Source for each app
|
||||||
|
# is under the app's own directory.
|
||||||
|
iconed: $(BINDIR)/kpunch/iconed/iconed.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/iconed/iconed.app: iconed/iconed.dbp iconed/iconed.frm iconed/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/iconed dvxbasic
|
||||||
|
$(BASCOMP) iconed/iconed.dbp -o $@ -release
|
||||||
|
|
||||||
|
notepad: $(BINDIR)/kpunch/notepad/notepad.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/notepad/notepad.app: notepad/notepad.dbp notepad/notepad.frm notepad/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/notepad dvxbasic
|
||||||
|
$(BASCOMP) notepad/notepad.dbp -o $@ -release
|
||||||
|
|
||||||
|
imgview: $(BINDIR)/kpunch/imgview/imgview.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/imgview/imgview.app: imgview/imgview.dbp imgview/imgview.frm imgview/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/imgview dvxbasic
|
||||||
|
$(BASCOMP) imgview/imgview.dbp -o $@ -release
|
||||||
|
|
||||||
|
helpedit: $(BINDIR)/kpunch/dvxhelp/helpedit.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/dvxhelp/helpedit.app: dvxhelp/helpedit/helpedit.dbp dvxhelp/helpedit/helpedit.frm dvxhelp/helpedit/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/dvxhelp dvxbasic
|
||||||
|
$(BASCOMP) dvxhelp/helpedit/helpedit.dbp -o $@ -release
|
||||||
|
$(DVXRES) add $@ helpfile text "dvxhelp.hlp"
|
||||||
|
|
||||||
|
resedit: $(BINDIR)/kpunch/resedit/resedit.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/resedit/resedit.app: resedit/resedit.dbp resedit/resedit.frm resedit/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/resedit dvxbasic
|
||||||
|
$(BASCOMP) resedit/resedit.dbp -o $@ -release
|
||||||
|
|
||||||
|
basicdemo: $(BINDIR)/kpunch/basicdemo/basicdemo.app
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/basicdemo/basicdemo.app: basicdemo/basicdemo.dbp basicdemo/basicdemo.frm basicdemo/ICON32.BMP $(BASCOMP) | $(BINDIR)/kpunch/basicdemo dvxbasic
|
||||||
|
$(BASCOMP) basicdemo/basicdemo.dbp -o $@ -release
|
||||||
|
|
||||||
|
$(OBJDIR):
|
||||||
|
mkdir -p $(OBJDIR)
|
||||||
|
|
||||||
|
$(BINDIR)/kpunch/cpanel: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/progman: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/clock: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/dvxdemo: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/dvxhelp: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/iconed: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/notepad: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/imgview: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/resedit: ; mkdir -p $@
|
||||||
|
$(BINDIR)/kpunch/basicdemo: ; mkdir -p $@
|
||||||
|
|
||||||
|
# Header dependencies
|
||||||
|
COMMON_H = ../../libs/kpunch/libdvx/dvxApp.h ../../libs/kpunch/libdvx/dvxDlg.h ../../libs/kpunch/libdvx/dvxWgt.h ../../libs/kpunch/libdvx/dvxWm.h ../../libs/kpunch/libdvx/dvxVideo.h ../../libs/kpunch/dvxshell/shellApp.h
|
||||||
|
$(OBJDIR)/cpanel.o: cpanel/cpanel.c $(COMMON_H) ../../libs/kpunch/libdvx/dvxPrefs.h ../../libs/kpunch/libdvx/platform/dvxPlat.h
|
||||||
|
$(OBJDIR)/progman.o: progman/progman.c $(COMMON_H) ../../libs/kpunch/dvxshell/shellInf.h
|
||||||
|
$(OBJDIR)/clock.o: clock/clock.c ../../libs/kpunch/libdvx/dvxApp.h ../../libs/kpunch/libdvx/dvxWgt.h ../../libs/kpunch/libdvx/dvxDraw.h ../../libs/kpunch/libdvx/dvxVideo.h ../../libs/kpunch/dvxshell/shellApp.h ../../libs/kpunch/libtasks/taskSwch.h
|
||||||
|
$(OBJDIR)/dvxdemo.o: dvxdemo/dvxdemo.c $(COMMON_H)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJDIR)/*.o
|
||||||
|
rm -f $(BINDIR)/kpunch/cpanel/cpanel.app
|
||||||
|
rm -f $(BINDIR)/kpunch/progman/progman.app
|
||||||
|
rm -f $(BINDIR)/kpunch/clock/clock.app
|
||||||
|
rm -f $(BINDIR)/kpunch/dvxdemo/dvxdemo.app $(addprefix $(BINDIR)/kpunch/dvxdemo/,$(DVXDEMO_BMPS))
|
||||||
|
rm -f $(BINDIR)/kpunch/dvxhelp/dvxhelp.app
|
||||||
|
rm -f $(BINDIR)/kpunch/iconed/iconed.app
|
||||||
|
rm -f $(BINDIR)/kpunch/notepad/notepad.app
|
||||||
|
rm -f $(BINDIR)/kpunch/imgview/imgview.app
|
||||||
|
rm -f $(BINDIR)/kpunch/dvxhelp/helpedit.app
|
||||||
|
rm -f $(BINDIR)/kpunch/resedit/resedit.app
|
||||||
|
rm -f $(BINDIR)/kpunch/basicdemo/basicdemo.app
|
||||||
|
$(MAKE) -C dvxbasic clean
|
||||||
|
|
@ -12,15 +12,16 @@
|
||||||
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
||||||
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
||||||
DXE3GEN = PATH=$(DJGPP_PREFIX)/bin:$(PATH) DJDIR=$(DJGPP_PREFIX)/i586-pc-msdosdjgpp $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/dxe3gen
|
DXE3GEN = PATH=$(DJGPP_PREFIX)/bin:$(PATH) DJDIR=$(DJGPP_PREFIX)/i586-pc-msdosdjgpp $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/dxe3gen
|
||||||
CFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../../core -I../../core/platform -I../../widgets -I../../shell -I../../tasks -I../../core/thirdparty -I.
|
CFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../../../libs/kpunch/libdvx -I../../../libs/kpunch/libdvx/platform -I../../../widgets/kpunch -I../../../libs/kpunch/dvxshell -I../../../libs/kpunch/libtasks -I../../../libs/kpunch/libdvx/thirdparty -I.
|
||||||
|
|
||||||
OBJDIR = ../../obj/dvxbasic
|
OBJDIR = ../../../../obj/dvxbasic
|
||||||
LIBSDIR = ../../bin/libs
|
LIBSDIR = ../../../../bin/libs
|
||||||
APPDIR = ../../bin/apps/kpunch/dvxbasic
|
APPDIR = ../../../../bin/apps/kpunch/dvxbasic
|
||||||
DVXRES = ../../bin/host/dvxres
|
HOSTDIR = ../../../../bin/host
|
||||||
|
DVXRES = $(HOSTDIR)/dvxres
|
||||||
|
|
||||||
# Runtime library objects (VM + values + form runtime + serialization + compiled forms)
|
# Runtime library objects (VM + values + form runtime + serialization)
|
||||||
RT_OBJS = $(OBJDIR)/vm.o $(OBJDIR)/values.o $(OBJDIR)/formrt.o $(OBJDIR)/serialize.o $(OBJDIR)/formcfm.o
|
RT_OBJS = $(OBJDIR)/vm.o $(OBJDIR)/values.o $(OBJDIR)/formrt.o $(OBJDIR)/serialize.o
|
||||||
RT_TARGETDIR = $(LIBSDIR)/kpunch/basrt
|
RT_TARGETDIR = $(LIBSDIR)/kpunch/basrt
|
||||||
RT_TARGET = $(RT_TARGETDIR)/basrt.lib
|
RT_TARGET = $(RT_TARGETDIR)/basrt.lib
|
||||||
|
|
||||||
|
|
@ -38,33 +39,32 @@ STUB_TARGET = $(OBJDIR)/basstub.app
|
||||||
|
|
||||||
# Native test programs (host gcc, not cross-compiled)
|
# Native test programs (host gcc, not cross-compiled)
|
||||||
HOSTCC = gcc
|
HOSTCC = gcc
|
||||||
HOSTCFLAGS = -O2 -Wall -Wextra -Wno-type-limits -Wno-sign-compare -D_GNU_SOURCE -I. -I../../core -I../../core/platform -I../../core/thirdparty
|
HOSTCFLAGS = -O2 -Wall -Wextra -Wno-type-limits -Wno-sign-compare -D_GNU_SOURCE -I. -I../../../libs/kpunch/libdvx -I../../../libs/kpunch/libdvx/platform -I../../../libs/kpunch/libdvx/thirdparty
|
||||||
BINDIR = ../../bin
|
|
||||||
|
|
||||||
TEST_COMPILER = $(BINDIR)/test_compiler
|
TEST_COMPILER = $(HOSTDIR)/test_compiler
|
||||||
TEST_VM = $(BINDIR)/test_vm
|
TEST_VM = $(HOSTDIR)/test_vm
|
||||||
TEST_LEX = $(BINDIR)/test_lex
|
TEST_LEX = $(HOSTDIR)/test_lex
|
||||||
TEST_QUICK = $(BINDIR)/test_quick
|
TEST_QUICK = $(HOSTDIR)/test_quick
|
||||||
TEST_COMPACT = $(BINDIR)/test_compact
|
TEST_COMPACT = $(HOSTDIR)/test_compact
|
||||||
|
|
||||||
STB_DS_IMPL = ../../core/thirdparty/stb_ds_impl.c
|
STB_DS_IMPL = ../../../libs/kpunch/libdvx/thirdparty/stb_ds_impl.c
|
||||||
TEST_COMPILER_SRCS = test_compiler.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c runtime/vm.c runtime/values.c runtime/serialize.c $(STB_DS_IMPL)
|
PLATFORM_CHDIR = ../../../libs/kpunch/libdvx/platform/dvxPlatformChdir.c
|
||||||
TEST_VM_SRCS = test_vm.c runtime/vm.c runtime/values.c runtime/serialize.c $(STB_DS_IMPL)
|
TEST_COMPILER_SRCS = test_compiler.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c runtime/vm.c runtime/values.c runtime/serialize.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||||
|
TEST_VM_SRCS = test_vm.c runtime/vm.c runtime/values.c runtime/serialize.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||||
TEST_LEX_SRCS = test_lex.c compiler/lexer.c
|
TEST_LEX_SRCS = test_lex.c compiler/lexer.c
|
||||||
TEST_QUICK_SRCS = test_quick.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c runtime/vm.c runtime/values.c runtime/serialize.c $(STB_DS_IMPL)
|
TEST_QUICK_SRCS = test_quick.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c runtime/vm.c runtime/values.c runtime/serialize.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||||
TEST_COMPACT_SRCS = test_compact.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c compiler/strip.c compiler/compact.c runtime/vm.c runtime/values.c runtime/serialize.c $(STB_DS_IMPL)
|
TEST_COMPACT_SRCS = test_compact.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c compiler/strip.c compiler/compact.c runtime/vm.c runtime/values.c runtime/serialize.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||||
|
|
||||||
# Command-line compiler (host tool)
|
# Command-line compiler (host tool)
|
||||||
HOSTDIR = ../../bin/host
|
BASCOMP_SRCS = stub/bascomp.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c compiler/strip.c compiler/obfuscate.c compiler/compact.c runtime/vm.c runtime/values.c runtime/serialize.c ../../../libs/kpunch/libdvx/dvxPrefs.c ../../../libs/kpunch/libdvx/dvxResource.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||||
BASCOMP_SRCS = stub/bascomp.c compiler/lexer.c compiler/parser.c compiler/codegen.c compiler/symtab.c compiler/strip.c compiler/obfuscate.c compiler/compact.c runtime/vm.c runtime/values.c runtime/serialize.c ../../core/dvxPrefs.c ../../core/dvxResource.c $(STB_DS_IMPL)
|
|
||||||
BASCOMP_TARGET = $(HOSTDIR)/bascomp
|
BASCOMP_TARGET = $(HOSTDIR)/bascomp
|
||||||
|
|
||||||
# DOS command-line compiler
|
# DOS command-line compiler
|
||||||
DOSCC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
DOSCC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
||||||
DOSCFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../../core -I../../core/platform -I../../core/thirdparty -I.
|
DOSCFLAGS = -O2 -Wall -Wextra -Werror -Wno-type-limits -Wno-sign-compare -Wno-format-truncation -march=i486 -mtune=i586 -I../../../libs/kpunch/libdvx -I../../../libs/kpunch/libdvx/platform -I../../../libs/kpunch/libdvx/thirdparty -I.
|
||||||
EXE2COFF = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/exe2coff
|
EXE2COFF = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/exe2coff
|
||||||
CWSDSTUB = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/CWSDSTUB.EXE
|
CWSDSTUB = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/CWSDSTUB.EXE
|
||||||
SYSTEMDIR = ../../bin/system
|
SYSTEMDIR = ../../../../bin/system
|
||||||
|
|
||||||
.PHONY: all clean tests
|
.PHONY: all clean tests
|
||||||
|
|
||||||
|
|
@ -72,29 +72,29 @@ all: $(RT_TARGET) $(RT_TARGETDIR)/basrt.dep $(STUB_TARGET) $(APP_TARGET) $(BASCO
|
||||||
|
|
||||||
tests: $(TEST_COMPILER) $(TEST_VM) $(TEST_LEX) $(TEST_QUICK) $(TEST_COMPACT)
|
tests: $(TEST_COMPILER) $(TEST_VM) $(TEST_LEX) $(TEST_QUICK) $(TEST_COMPACT)
|
||||||
|
|
||||||
$(TEST_COMPILER): $(TEST_COMPILER_SRCS) | $(BINDIR)
|
$(TEST_COMPILER): $(TEST_COMPILER_SRCS) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_COMPILER_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_COMPILER_SRCS) -lm
|
||||||
|
|
||||||
$(TEST_VM): $(TEST_VM_SRCS) | $(BINDIR)
|
$(TEST_VM): $(TEST_VM_SRCS) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_VM_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_VM_SRCS) -lm
|
||||||
|
|
||||||
$(TEST_LEX): $(TEST_LEX_SRCS) | $(BINDIR)
|
$(TEST_LEX): $(TEST_LEX_SRCS) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -w -o $@ $(TEST_LEX_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -w -o $@ $(TEST_LEX_SRCS) -lm
|
||||||
|
|
||||||
$(TEST_QUICK): $(TEST_QUICK_SRCS) | $(BINDIR)
|
$(TEST_QUICK): $(TEST_QUICK_SRCS) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_QUICK_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_QUICK_SRCS) -lm
|
||||||
|
|
||||||
$(TEST_COMPACT): $(TEST_COMPACT_SRCS) | $(BINDIR)
|
$(TEST_COMPACT): $(TEST_COMPACT_SRCS) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_COMPACT_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_COMPACT_SRCS) -lm
|
||||||
|
|
||||||
# Host command-line compiler (stub deployed alongside)
|
# Host command-line compiler (stub deployed alongside)
|
||||||
$(BASCOMP_TARGET): $(BASCOMP_SRCS) $(STUB_TARGET) | $(HOSTDIR)
|
$(BASCOMP_TARGET): $(BASCOMP_SRCS) $(STUB_TARGET) | $(HOSTDIR)
|
||||||
$(HOSTCC) $(HOSTCFLAGS) -DBASCOMP_STANDALONE -I../../tools -o $@ $(BASCOMP_SRCS) -lm
|
$(HOSTCC) $(HOSTCFLAGS) -DBASCOMP_STANDALONE -I../../../tools -o $@ $(BASCOMP_SRCS) -lm
|
||||||
cp $(STUB_TARGET) $(HOSTDIR)/BASSTUB.APP
|
cp $(STUB_TARGET) $(HOSTDIR)/BASSTUB.APP
|
||||||
|
|
||||||
# DOS command-line compiler
|
# DOS command-line compiler
|
||||||
$(SYSTEMDIR)/BASCOMP.EXE: $(BASCOMP_SRCS) | $(SYSTEMDIR)
|
$(SYSTEMDIR)/BASCOMP.EXE: $(BASCOMP_SRCS) | $(SYSTEMDIR)
|
||||||
$(DOSCC) $(DOSCFLAGS) -DBASCOMP_STANDALONE -I../../tools -o $(SYSTEMDIR)/bascomp.exe $(BASCOMP_SRCS) -lm
|
$(DOSCC) $(DOSCFLAGS) -DBASCOMP_STANDALONE -I../../../tools -o $(SYSTEMDIR)/bascomp.exe $(BASCOMP_SRCS) -lm
|
||||||
$(EXE2COFF) $(SYSTEMDIR)/bascomp.exe
|
$(EXE2COFF) $(SYSTEMDIR)/bascomp.exe
|
||||||
cat $(CWSDSTUB) $(SYSTEMDIR)/bascomp > $@
|
cat $(CWSDSTUB) $(SYSTEMDIR)/bascomp > $@
|
||||||
rm -f $(SYSTEMDIR)/bascomp $(SYSTEMDIR)/bascomp.exe
|
rm -f $(SYSTEMDIR)/bascomp $(SYSTEMDIR)/bascomp.exe
|
||||||
|
|
@ -114,7 +114,7 @@ $(RT_TARGET): $(RT_OBJS) | $(RT_TARGETDIR)
|
||||||
$(DXE3GEN) -o $(RT_TARGETDIR)/basrt.dxe -U $(RT_OBJS)
|
$(DXE3GEN) -o $(RT_TARGETDIR)/basrt.dxe -U $(RT_OBJS)
|
||||||
mv $(RT_TARGETDIR)/basrt.dxe $@
|
mv $(RT_TARGETDIR)/basrt.dxe $@
|
||||||
|
|
||||||
$(RT_TARGETDIR)/basrt.dep: ../../config/basrt.dep | $(RT_TARGETDIR)
|
$(RT_TARGETDIR)/basrt.dep: basrt.dep | $(RT_TARGETDIR)
|
||||||
sed 's/$$/\r/' $< > $@
|
sed 's/$$/\r/' $< > $@
|
||||||
|
|
||||||
# Standalone stub DXE (embedded as resource in IDE app)
|
# Standalone stub DXE (embedded as resource in IDE app)
|
||||||
|
|
@ -135,9 +135,6 @@ $(OBJDIR)/codegen.o: compiler/codegen.c compiler/codegen.h compiler/symtab.h com
|
||||||
$(OBJDIR)/formrt.o: formrt/formrt.c formrt/formrt.h compiler/opcodes.h runtime/vm.h | $(OBJDIR)
|
$(OBJDIR)/formrt.o: formrt/formrt.c formrt/formrt.h compiler/opcodes.h runtime/vm.h | $(OBJDIR)
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
$(OBJDIR)/formcfm.o: formrt/formcfm.c formrt/formcfm.h formrt/formrt.h | $(OBJDIR)
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/serialize.o: runtime/serialize.c runtime/serialize.h runtime/vm.h | $(OBJDIR)
|
$(OBJDIR)/serialize.o: runtime/serialize.c runtime/serialize.h runtime/vm.h | $(OBJDIR)
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
|
@ -150,7 +147,7 @@ $(OBJDIR)/obfuscate.o: compiler/obfuscate.c compiler/obfuscate.h runtime/vm.h ru
|
||||||
$(OBJDIR)/compact.o: compiler/compact.c compiler/compact.h compiler/opcodes.h runtime/vm.h | $(OBJDIR)
|
$(OBJDIR)/compact.o: compiler/compact.c compiler/compact.h compiler/opcodes.h runtime/vm.h | $(OBJDIR)
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
$(OBJDIR)/basstub.o: stub/basstub.c runtime/vm.h runtime/serialize.h formrt/formrt.h formrt/formcfm.h | $(OBJDIR)
|
$(OBJDIR)/basstub.o: stub/basstub.c runtime/vm.h runtime/serialize.h formrt/formrt.h | $(OBJDIR)
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
$(OBJDIR)/ideDesigner.o: ide/ideDesigner.c ide/ideDesigner.h | $(OBJDIR)
|
$(OBJDIR)/ideDesigner.o: ide/ideDesigner.c ide/ideDesigner.h | $(OBJDIR)
|
||||||
|
|
@ -199,9 +196,6 @@ $(RT_TARGETDIR):
|
||||||
$(APPDIR):
|
$(APPDIR):
|
||||||
mkdir -p $(APPDIR)
|
mkdir -p $(APPDIR)
|
||||||
|
|
||||||
$(BINDIR):
|
|
||||||
mkdir -p $(BINDIR)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(RT_OBJS) $(COMP_OBJS) $(IDE_OBJS) $(STUB_OBJS) $(RT_TARGET) $(APP_TARGET) $(STUB_TARGET) $(BASCOMP_TARGET) $(RT_TARGETDIR)/basrt.dep $(RT_TARGETDIR) $(OBJDIR)/basrt_init.o
|
rm -rf $(RT_OBJS) $(COMP_OBJS) $(IDE_OBJS) $(STUB_OBJS) $(RT_TARGET) $(APP_TARGET) $(STUB_TARGET) $(BASCOMP_TARGET) $(RT_TARGETDIR)/basrt.dep $(RT_TARGETDIR) $(OBJDIR)/basrt_init.o
|
||||||
rm -f $(TEST_COMPILER) $(TEST_VM) $(TEST_LEX) $(TEST_QUICK)
|
rm -f $(TEST_COMPILER) $(TEST_VM) $(TEST_LEX) $(TEST_QUICK) $(TEST_COMPACT)
|
||||||
|
|
@ -516,13 +516,15 @@ int32_t basStripFrmComments(const char *src, int32_t srcLen, uint8_t *outBuf, in
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t writeLen = contentEnd - lineStart;
|
// Strip leading whitespace -- the form parser trims per line
|
||||||
|
// anyway, so shipping indentation just bloats the embedded resource.
|
||||||
|
int32_t writeLen = contentEnd - firstNonWs;
|
||||||
|
|
||||||
if (outLen + writeLen + 1 >= outCap) {
|
if (outLen + writeLen + 1 >= outCap) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(outBuf + outLen, src + lineStart, writeLen);
|
memcpy(outBuf + outLen, src + firstNonWs, writeLen);
|
||||||
outLen += writeLen;
|
outLen += writeLen;
|
||||||
outBuf[outLen++] = '\n';
|
outBuf[outLen++] = '\n';
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
// registered by .wgt DXE files. No hardcoded control types.
|
// registered by .wgt DXE files. No hardcoded control types.
|
||||||
|
|
||||||
#include "formrt.h"
|
#include "formrt.h"
|
||||||
#include "formcfm.h"
|
|
||||||
#include "../compiler/opcodes.h"
|
#include "../compiler/opcodes.h"
|
||||||
#include "dvxDlg.h"
|
#include "dvxDlg.h"
|
||||||
#include "dvxRes.h"
|
#include "dvxRes.h"
|
||||||
|
|
@ -1204,15 +1203,19 @@ void basFormRtRegisterCfm(BasFormRtT *rt, const char *formName, const uint8_t *d
|
||||||
|
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// basFormRtLoadCfm -- load form from compiled binary via formcfm
|
// basFormRtLoadCfm -- stubbed; compiled form binary format is deferred.
|
||||||
|
// The cfmCache is never populated, so this is kept only for the call
|
||||||
|
// site that references it.
|
||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
||||||
static void *basFormRtLoadCfm(BasFormRtT *rt, const uint8_t *data, int32_t dataLen) {
|
static void *basFormRtLoadCfm(BasFormRtT *rt, const uint8_t *data, int32_t dataLen) {
|
||||||
dvxLog("basFormRtLoadCfm: loading compiled form (%ld bytes)", (long)dataLen);
|
(void)rt; (void)data; (void)dataLen;
|
||||||
BasFormT *form = basFormLoadCompiled(rt, data, dataLen);
|
return NULL;
|
||||||
|
// Unreachable past here; left to satisfy the rest of the function body
|
||||||
|
// which assumed a live formcfm implementation.
|
||||||
|
BasFormT *form = NULL;
|
||||||
|
|
||||||
if (!form || !form->window) {
|
if (!form || !form->window) {
|
||||||
dvxLog("basFormRtLoadCfm: basFormLoadCompiled failed (form=%p)", (void *)form);
|
|
||||||
return form;
|
return form;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,13 +40,13 @@
|
||||||
#include "ideToolbox.h"
|
#include "ideToolbox.h"
|
||||||
#include "ideProperties.h"
|
#include "ideProperties.h"
|
||||||
|
|
||||||
|
#include "../compiler/obfuscate.h"
|
||||||
#include "../compiler/parser.h"
|
#include "../compiler/parser.h"
|
||||||
#include "../compiler/strip.h"
|
#include "../compiler/strip.h"
|
||||||
#include "../runtime/serialize.h"
|
#include "../runtime/serialize.h"
|
||||||
#include "../formrt/formrt.h"
|
#include "../formrt/formrt.h"
|
||||||
#include "../formrt/formcfm.h"
|
|
||||||
#include "dvxRes.h"
|
#include "dvxRes.h"
|
||||||
#include "../../sql/dvxSql.h"
|
#include "../../../../libs/kpunch/sql/dvxSql.h"
|
||||||
#include "../runtime/vm.h"
|
#include "../runtime/vm.h"
|
||||||
#include "../runtime/values.h"
|
#include "../runtime/values.h"
|
||||||
|
|
||||||
|
|
@ -4225,9 +4225,19 @@ static void makeExecutable(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t frmLen = (int32_t)strlen(frmSrc);
|
int32_t frmLen = (int32_t)strlen(frmSrc);
|
||||||
char resName[16];
|
|
||||||
snprintf(resName, sizeof(resName), "FORM%ld", (long)formIdx);
|
// Strip comments and leading whitespace from embedded form text.
|
||||||
dvxResAppend(outPath, resName, DVX_RES_BINARY, frmSrc, (uint32_t)frmLen);
|
int32_t stripCap = frmLen + 16;
|
||||||
|
uint8_t *stripped = (uint8_t *)malloc(stripCap);
|
||||||
|
|
||||||
|
if (stripped) {
|
||||||
|
int32_t strippedLen = basStripFrmComments(frmSrc, frmLen, stripped, stripCap);
|
||||||
|
char resName[16];
|
||||||
|
snprintf(resName, sizeof(resName), "FORM%ld", (long)formIdx);
|
||||||
|
dvxResAppend(outPath, resName, DVX_RES_BINARY, stripped, (uint32_t)strippedLen);
|
||||||
|
free(stripped);
|
||||||
|
}
|
||||||
|
|
||||||
free(frmSrc);
|
free(frmSrc);
|
||||||
formIdx++;
|
formIdx++;
|
||||||
}
|
}
|
||||||
|
|
@ -713,8 +713,8 @@ static void ppdOnBrowseIcon(WidgetT *w) {
|
||||||
(void)w;
|
(void)w;
|
||||||
|
|
||||||
FileFilterT filters[] = {
|
FileFilterT filters[] = {
|
||||||
{ "Images (*.bmp;*.png;*.jpg;*.gif)", "*.bmp;*.png;*.jpg;*.gif" },
|
{ "Images (*.bmp;*.png;*.jpg;*.gif)" },
|
||||||
{ "All Files (*.*)", "*.*" }
|
{ "All Files (*.*)" }
|
||||||
};
|
};
|
||||||
|
|
||||||
char path[DVX_MAX_PATH];
|
char path[DVX_MAX_PATH];
|
||||||
|
|
@ -810,8 +810,8 @@ static void ppdOnBrowseHelp(WidgetT *w) {
|
||||||
(void)w;
|
(void)w;
|
||||||
|
|
||||||
FileFilterT filters[] = {
|
FileFilterT filters[] = {
|
||||||
{ "Help Files (*.hlp)", "*.hlp" },
|
{ "Help Files (*.hlp)" },
|
||||||
{ "All Files (*.*)", "*.*" }
|
{ "All Files (*.*)" }
|
||||||
};
|
};
|
||||||
|
|
||||||
char path[DVX_MAX_PATH];
|
char path[DVX_MAX_PATH];
|
||||||
|
|
@ -4632,7 +4632,7 @@ static BasVmResultE execFsOp(BasVmT *vm, uint8_t op) {
|
||||||
BasValueT pathStr = basValToString(pathVal);
|
BasValueT pathStr = basValToString(pathVal);
|
||||||
basValRelease(&pathVal);
|
basValRelease(&pathVal);
|
||||||
|
|
||||||
if (chdir(pathStr.strVal->data) != 0) {
|
if (platformChdir(pathStr.strVal->data) != 0) {
|
||||||
basValRelease(&pathStr);
|
basValRelease(&pathStr);
|
||||||
runtimeError(vm, 76, "Path not found");
|
runtimeError(vm, 76, "Path not found");
|
||||||
return BAS_VM_FILE_ERROR;
|
return BAS_VM_FILE_ERROR;
|
||||||
|
|
@ -4652,13 +4652,14 @@ static BasVmResultE execFsOp(BasVmT *vm, uint8_t op) {
|
||||||
BasValueT driveStr = basValToString(driveVal);
|
BasValueT driveStr = basValToString(driveVal);
|
||||||
basValRelease(&driveVal);
|
basValRelease(&driveVal);
|
||||||
|
|
||||||
// On DOS, change to the drive's root directory
|
// Drive letters are a DOS-ism; platformChdir is a no-op on
|
||||||
|
// platforms without them.
|
||||||
if (driveStr.strVal->data[0]) {
|
if (driveStr.strVal->data[0]) {
|
||||||
char drivePath[4];
|
char drivePath[4];
|
||||||
drivePath[0] = driveStr.strVal->data[0];
|
drivePath[0] = driveStr.strVal->data[0];
|
||||||
drivePath[1] = ':';
|
drivePath[1] = ':';
|
||||||
drivePath[2] = '\0';
|
drivePath[2] = '\0';
|
||||||
chdir(drivePath);
|
platformChdir(drivePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
basValRelease(&driveStr);
|
basValRelease(&driveStr);
|
||||||
|
|
@ -18,10 +18,10 @@
|
||||||
#include "../runtime/vm.h"
|
#include "../runtime/vm.h"
|
||||||
#include "../runtime/values.h"
|
#include "../runtime/values.h"
|
||||||
#include "../runtime/serialize.h"
|
#include "../runtime/serialize.h"
|
||||||
#include "../../core/dvxRes.h"
|
#include "../../../../libs/kpunch/libdvx/dvxRes.h"
|
||||||
#include "../../core/dvxPrefs.h"
|
#include "../../../../libs/kpunch/libdvx/dvxPrefs.h"
|
||||||
#include "../../core/dvxTypes.h"
|
#include "../../../../libs/kpunch/libdvx/dvxTypes.h"
|
||||||
#include "../../tools/dvxResWrite.h"
|
#include "../../../../tools/dvxResWrite.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
@ -5,8 +5,8 @@ Description = DVX Help source editor with syntax highlighting and preview
|
||||||
Icon = ICON32.BMP
|
Icon = ICON32.BMP
|
||||||
|
|
||||||
[Modules]
|
[Modules]
|
||||||
File0 = ../../../include/basic/commdlg.bas
|
File0 = ../../../../include/basic/commdlg.bas
|
||||||
File1 = ../../../include/basic/help.bas
|
File1 = ../../../../include/basic/help.bas
|
||||||
Count = 2
|
Count = 2
|
||||||
|
|
||||||
[Forms]
|
[Forms]
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue