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,
|
||||
# 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:
|
||||
$(MAKE) -C core
|
||||
libdvx:
|
||||
$(MAKE) -C src/libs/kpunch/libdvx
|
||||
|
||||
tasks:
|
||||
$(MAKE) -C tasks
|
||||
libtasks:
|
||||
$(MAKE) -C src/libs/kpunch/libtasks
|
||||
|
||||
loader: core tasks
|
||||
$(MAKE) -C loader
|
||||
loader: libdvx libtasks
|
||||
$(MAKE) -C src/loader
|
||||
|
||||
texthelp: core tasks
|
||||
$(MAKE) -C texthelp
|
||||
texthelp: libdvx libtasks
|
||||
$(MAKE) -C src/libs/kpunch/texthelp
|
||||
|
||||
listhelp: core tasks
|
||||
$(MAKE) -C listhelp
|
||||
listhelp: libdvx libtasks
|
||||
$(MAKE) -C src/libs/kpunch/listhelp
|
||||
|
||||
widgets: core tasks texthelp listhelp
|
||||
$(MAKE) -C widgets
|
||||
widgets: libdvx libtasks texthelp listhelp
|
||||
$(MAKE) -C src/widgets/kpunch
|
||||
|
||||
shell: core tasks
|
||||
$(MAKE) -C shell
|
||||
dvxshell: libdvx libtasks
|
||||
$(MAKE) -C src/libs/kpunch/dvxshell
|
||||
|
||||
taskmgr: shell
|
||||
$(MAKE) -C taskmgr
|
||||
taskmgr: dvxshell
|
||||
$(MAKE) -C src/libs/kpunch/taskmgr
|
||||
|
||||
serial: core tasks
|
||||
$(MAKE) -C serial
|
||||
serial: libdvx libtasks
|
||||
$(MAKE) -C src/libs/kpunch/serial
|
||||
|
||||
sql: core tasks
|
||||
$(MAKE) -C sql
|
||||
sql: libdvx libtasks
|
||||
$(MAKE) -C src/libs/kpunch/sql
|
||||
|
||||
tools:
|
||||
$(MAKE) -C tools
|
||||
$(MAKE) -C src/tools
|
||||
|
||||
apps: core tasks shell tools
|
||||
$(MAKE) -C apps
|
||||
apps: libdvx libtasks dvxshell tools
|
||||
$(MAKE) -C src/apps/kpunch
|
||||
|
||||
deploy-helpsrc:
|
||||
$(MAKE) -C tools deploy-helpsrc
|
||||
$(MAKE) -C src/tools deploy-helpsrc
|
||||
|
||||
HLPC = bin/host/dvxhlpc
|
||||
|
||||
SYSTEM_DHS = core/sysdoc.dhs \
|
||||
core/arch.dhs core/apiref.dhs \
|
||||
tasks/libtasks.dhs shell/dvxshell.dhs sql/dvxsql.dhs \
|
||||
texthelp/texthelp.dhs listhelp/listhelp.dhs \
|
||||
taskmgr/taskmgr.dhs serial/serial.dhs \
|
||||
apps/dvxbasic/basrt.dhs \
|
||||
widgets/wgtsys.dhs
|
||||
SYSTEM_DHS = src/libs/kpunch/libdvx/sysdoc.dhs \
|
||||
src/libs/kpunch/libdvx/arch.dhs src/libs/kpunch/libdvx/apiref.dhs \
|
||||
src/libs/kpunch/libtasks/libtasks.dhs src/libs/kpunch/dvxshell/dvxshell.dhs src/libs/kpunch/sql/dvxsql.dhs \
|
||||
src/libs/kpunch/texthelp/texthelp.dhs src/libs/kpunch/listhelp/listhelp.dhs \
|
||||
src/libs/kpunch/taskmgr/taskmgr.dhs src/libs/kpunch/serial/serial.dhs \
|
||||
src/apps/kpunch/dvxbasic/basrt.dhs \
|
||||
src/widgets/kpunch/wgtsys.dhs
|
||||
|
||||
BASIC_DHS = apps/dvxbasic/ideguide.dhs apps/dvxbasic/langref.dhs \
|
||||
apps/dvxbasic/ctrlover.dhs apps/dvxbasic/form.dhs
|
||||
BASIC_DHS = src/apps/kpunch/dvxbasic/ideguide.dhs src/apps/kpunch/dvxbasic/langref.dhs \
|
||||
src/apps/kpunch/dvxbasic/ctrlover.dhs src/apps/kpunch/dvxbasic/form.dhs
|
||||
|
||||
compile-help:
|
||||
@mkdir -p docs
|
||||
$(HLPC) -o bin/apps/kpunch/dvxhelp/dvxhelp.hlp \
|
||||
--html docs/dvx_help_viewer.html \
|
||||
apps/dvxhelp/help.dhs
|
||||
src/apps/kpunch/dvxhelp/help.dhs
|
||||
$(HLPC) -o bin/apps/kpunch/progman/dvxhelp.hlp \
|
||||
--html docs/dvx_system_reference.html \
|
||||
-i core \
|
||||
-i src/libs/kpunch/libdvx \
|
||||
$(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 \
|
||||
--html docs/dvx_basic_reference.html \
|
||||
$(BASIC_DHS) \
|
||||
$$(find widgets -name "*.bhs" | sort)
|
||||
$$(find src/widgets/kpunch -name "*.bhs" | sort)
|
||||
|
||||
SDKDIR = bin/sdk
|
||||
|
||||
deploy-sdk:
|
||||
@echo "Building SDK..."
|
||||
@mkdir -p $(SDKDIR)/include/core $(SDKDIR)/include/shell $(SDKDIR)/include/tasks $(SDKDIR)/include/sql
|
||||
@mkdir -p $(SDKDIR)/samples/hello $(SDKDIR)/samples/widget
|
||||
@# Core headers
|
||||
@for f in core/dvxApp.h core/dvxTypes.h core/dvxWgt.h core/dvxWgtP.h \
|
||||
core/dvxWm.h core/dvxDraw.h core/dvxVideo.h core/dvxComp.h \
|
||||
core/dvxPrefs.h core/dvxDlg.h core/dvxRes.h core/dvxFont.h \
|
||||
core/dvxCur.h core/dvxPal.h core/dvxPlat.h; do \
|
||||
[ -f "$$f" ] || continue; \
|
||||
cp "$$f" $(SDKDIR)/include/core/; \
|
||||
@mkdir -p $(SDKDIR)/include/core $(SDKDIR)/include/shell $(SDKDIR)/include/tasks $(SDKDIR)/include/sql $(SDKDIR)/include/basic
|
||||
@# Core headers (libdvx public API)
|
||||
@for f in src/libs/kpunch/libdvx/dvxApp.h src/libs/kpunch/libdvx/dvxTypes.h \
|
||||
src/libs/kpunch/libdvx/dvxWgt.h src/libs/kpunch/libdvx/dvxWgtP.h \
|
||||
src/libs/kpunch/libdvx/dvxWm.h src/libs/kpunch/libdvx/dvxDraw.h \
|
||||
src/libs/kpunch/libdvx/dvxVideo.h src/libs/kpunch/libdvx/dvxComp.h \
|
||||
src/libs/kpunch/libdvx/dvxPrefs.h src/libs/kpunch/libdvx/dvxDlg.h \
|
||||
src/libs/kpunch/libdvx/dvxRes.h src/libs/kpunch/libdvx/dvxFont.h \
|
||||
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
|
||||
@# 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
|
||||
@for f in tasks/taskSwch.h tasks/taskswitch.h; do \
|
||||
[ -f "$$f" ] && cp "$$f" $(SDKDIR)/include/tasks/ && break; \
|
||||
done
|
||||
@cp src/libs/kpunch/libtasks/taskSwch.h $(SDKDIR)/include/tasks/
|
||||
@# SQL header
|
||||
@cp sql/dvxSql.h $(SDKDIR)/include/sql/ 2>/dev/null || true
|
||||
@# Widget headers — one per widget
|
||||
@for d in widgets/*/; do \
|
||||
@cp src/libs/kpunch/sql/dvxSql.h $(SDKDIR)/include/sql/
|
||||
@# Widget headers -- one subdir per widget
|
||||
@for d in src/widgets/kpunch/*/; do \
|
||||
for h in "$$d"*.h; do \
|
||||
[ -f "$$h" ] || continue; \
|
||||
base=$$(basename "$$h"); \
|
||||
wgt=$$(basename "$$d"); \
|
||||
mkdir -p $(SDKDIR)/include/widget/"$$wgt"; \
|
||||
cp "$$h" $(SDKDIR)/include/widget/"$$wgt"/; \
|
||||
done; \
|
||||
done
|
||||
@# BASIC include files
|
||||
@mkdir -p $(SDKDIR)/include/basic
|
||||
@cp sdk/include/basic/*.bas $(SDKDIR)/include/basic/ 2>/dev/null || true
|
||||
@# Samples and readme
|
||||
@cp -r sdk/samples $(SDKDIR)/
|
||||
@cp sdk/readme.txt $(SDKDIR)/README.TXT
|
||||
@cp src/include/basic/*.bas $(SDKDIR)/include/basic/
|
||||
@# README
|
||||
@printf '%s\n' \
|
||||
'DVX SDK' \
|
||||
'=======' \
|
||||
'' \
|
||||
'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:
|
||||
$(MAKE) -C core clean
|
||||
$(MAKE) -C tasks clean
|
||||
$(MAKE) -C loader clean
|
||||
$(MAKE) -C texthelp clean
|
||||
$(MAKE) -C listhelp clean
|
||||
$(MAKE) -C widgets clean
|
||||
$(MAKE) -C shell clean
|
||||
$(MAKE) -C taskmgr clean
|
||||
$(MAKE) -C serial clean
|
||||
$(MAKE) -C sql clean
|
||||
$(MAKE) -C apps clean
|
||||
$(MAKE) -C tools clean
|
||||
$(MAKE) -C src/libs/kpunch/libdvx clean
|
||||
$(MAKE) -C src/libs/kpunch/libtasks clean
|
||||
$(MAKE) -C src/loader clean
|
||||
$(MAKE) -C src/libs/kpunch/texthelp clean
|
||||
$(MAKE) -C src/libs/kpunch/listhelp clean
|
||||
$(MAKE) -C src/widgets/kpunch clean
|
||||
$(MAKE) -C src/libs/kpunch/dvxshell clean
|
||||
$(MAKE) -C src/libs/kpunch/taskmgr clean
|
||||
$(MAKE) -C src/libs/kpunch/serial clean
|
||||
$(MAKE) -C src/libs/kpunch/sql clean
|
||||
$(MAKE) -C src/apps/kpunch clean
|
||||
$(MAKE) -C src/tools clean
|
||||
-rmdir obj 2>/dev/null
|
||||
-rm -rf bin/config bin/widgets bin/libs bin/sdk
|
||||
-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
|
||||
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../../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
|
||||
LIBSDIR = ../../bin/libs
|
||||
APPDIR = ../../bin/apps/kpunch/dvxbasic
|
||||
DVXRES = ../../bin/host/dvxres
|
||||
OBJDIR = ../../../../obj/dvxbasic
|
||||
LIBSDIR = ../../../../bin/libs
|
||||
APPDIR = ../../../../bin/apps/kpunch/dvxbasic
|
||||
HOSTDIR = ../../../../bin/host
|
||||
DVXRES = $(HOSTDIR)/dvxres
|
||||
|
||||
# Runtime library objects (VM + values + form runtime + serialization + compiled forms)
|
||||
RT_OBJS = $(OBJDIR)/vm.o $(OBJDIR)/values.o $(OBJDIR)/formrt.o $(OBJDIR)/serialize.o $(OBJDIR)/formcfm.o
|
||||
# Runtime library objects (VM + values + form runtime + serialization)
|
||||
RT_OBJS = $(OBJDIR)/vm.o $(OBJDIR)/values.o $(OBJDIR)/formrt.o $(OBJDIR)/serialize.o
|
||||
RT_TARGETDIR = $(LIBSDIR)/kpunch/basrt
|
||||
RT_TARGET = $(RT_TARGETDIR)/basrt.lib
|
||||
|
||||
|
|
@ -38,33 +39,32 @@ STUB_TARGET = $(OBJDIR)/basstub.app
|
|||
|
||||
# Native test programs (host gcc, not cross-compiled)
|
||||
HOSTCC = gcc
|
||||
HOSTCFLAGS = -O2 -Wall -Wextra -Wno-type-limits -Wno-sign-compare -D_GNU_SOURCE -I. -I../../core -I../../core/platform -I../../core/thirdparty
|
||||
BINDIR = ../../bin
|
||||
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
|
||||
|
||||
TEST_COMPILER = $(BINDIR)/test_compiler
|
||||
TEST_VM = $(BINDIR)/test_vm
|
||||
TEST_LEX = $(BINDIR)/test_lex
|
||||
TEST_QUICK = $(BINDIR)/test_quick
|
||||
TEST_COMPACT = $(BINDIR)/test_compact
|
||||
TEST_COMPILER = $(HOSTDIR)/test_compiler
|
||||
TEST_VM = $(HOSTDIR)/test_vm
|
||||
TEST_LEX = $(HOSTDIR)/test_lex
|
||||
TEST_QUICK = $(HOSTDIR)/test_quick
|
||||
TEST_COMPACT = $(HOSTDIR)/test_compact
|
||||
|
||||
STB_DS_IMPL = ../../core/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)
|
||||
TEST_VM_SRCS = test_vm.c runtime/vm.c runtime/values.c runtime/serialize.c $(STB_DS_IMPL)
|
||||
STB_DS_IMPL = ../../../libs/kpunch/libdvx/thirdparty/stb_ds_impl.c
|
||||
PLATFORM_CHDIR = ../../../libs/kpunch/libdvx/platform/dvxPlatformChdir.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 $(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_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_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_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 $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||
|
||||
# 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 ../../core/dvxPrefs.c ../../core/dvxResource.c $(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 ../../../libs/kpunch/libdvx/dvxPrefs.c ../../../libs/kpunch/libdvx/dvxResource.c $(PLATFORM_CHDIR) $(STB_DS_IMPL)
|
||||
BASCOMP_TARGET = $(HOSTDIR)/bascomp
|
||||
|
||||
# DOS command-line compiler
|
||||
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
|
||||
CWSDSTUB = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/CWSDSTUB.EXE
|
||||
SYSTEMDIR = ../../bin/system
|
||||
SYSTEMDIR = ../../../../bin/system
|
||||
|
||||
.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)
|
||||
|
||||
$(TEST_COMPILER): $(TEST_COMPILER_SRCS) | $(BINDIR)
|
||||
$(TEST_COMPILER): $(TEST_COMPILER_SRCS) | $(HOSTDIR)
|
||||
$(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
|
||||
|
||||
$(TEST_LEX): $(TEST_LEX_SRCS) | $(BINDIR)
|
||||
$(TEST_LEX): $(TEST_LEX_SRCS) | $(HOSTDIR)
|
||||
$(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
|
||||
|
||||
$(TEST_COMPACT): $(TEST_COMPACT_SRCS) | $(BINDIR)
|
||||
$(TEST_COMPACT): $(TEST_COMPACT_SRCS) | $(HOSTDIR)
|
||||
$(HOSTCC) $(HOSTCFLAGS) -o $@ $(TEST_COMPACT_SRCS) -lm
|
||||
|
||||
# Host command-line compiler (stub deployed alongside)
|
||||
$(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
|
||||
|
||||
# DOS command-line compiler
|
||||
$(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
|
||||
cat $(CWSDSTUB) $(SYSTEMDIR)/bascomp > $@
|
||||
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)
|
||||
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/' $< > $@
|
||||
|
||||
# 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)
|
||||
$(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)
|
||||
$(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)
|
||||
$(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 $@ $<
|
||||
|
||||
$(OBJDIR)/ideDesigner.o: ide/ideDesigner.c ide/ideDesigner.h | $(OBJDIR)
|
||||
|
|
@ -199,9 +196,6 @@ $(RT_TARGETDIR):
|
|||
$(APPDIR):
|
||||
mkdir -p $(APPDIR)
|
||||
|
||||
$(BINDIR):
|
||||
mkdir -p $(BINDIR)
|
||||
|
||||
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 -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;
|
||||
}
|
||||
|
||||
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) {
|
||||
break;
|
||||
}
|
||||
|
||||
memcpy(outBuf + outLen, src + lineStart, writeLen);
|
||||
memcpy(outBuf + outLen, src + firstNonWs, writeLen);
|
||||
outLen += writeLen;
|
||||
outBuf[outLen++] = '\n';
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@
|
|||
// registered by .wgt DXE files. No hardcoded control types.
|
||||
|
||||
#include "formrt.h"
|
||||
#include "formcfm.h"
|
||||
#include "../compiler/opcodes.h"
|
||||
#include "dvxDlg.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) {
|
||||
dvxLog("basFormRtLoadCfm: loading compiled form (%ld bytes)", (long)dataLen);
|
||||
BasFormT *form = basFormLoadCompiled(rt, data, dataLen);
|
||||
(void)rt; (void)data; (void)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) {
|
||||
dvxLog("basFormRtLoadCfm: basFormLoadCompiled failed (form=%p)", (void *)form);
|
||||
return form;
|
||||
}
|
||||
|
||||
|
|
@ -40,13 +40,13 @@
|
|||
#include "ideToolbox.h"
|
||||
#include "ideProperties.h"
|
||||
|
||||
#include "../compiler/obfuscate.h"
|
||||
#include "../compiler/parser.h"
|
||||
#include "../compiler/strip.h"
|
||||
#include "../runtime/serialize.h"
|
||||
#include "../formrt/formrt.h"
|
||||
#include "../formrt/formcfm.h"
|
||||
#include "dvxRes.h"
|
||||
#include "../../sql/dvxSql.h"
|
||||
#include "../../../../libs/kpunch/sql/dvxSql.h"
|
||||
#include "../runtime/vm.h"
|
||||
#include "../runtime/values.h"
|
||||
|
||||
|
|
@ -4225,9 +4225,19 @@ static void makeExecutable(void) {
|
|||
}
|
||||
|
||||
int32_t frmLen = (int32_t)strlen(frmSrc);
|
||||
char resName[16];
|
||||
snprintf(resName, sizeof(resName), "FORM%ld", (long)formIdx);
|
||||
dvxResAppend(outPath, resName, DVX_RES_BINARY, frmSrc, (uint32_t)frmLen);
|
||||
|
||||
// Strip comments and leading whitespace from embedded form text.
|
||||
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);
|
||||
formIdx++;
|
||||
}
|
||||
|
|
@ -713,8 +713,8 @@ static void ppdOnBrowseIcon(WidgetT *w) {
|
|||
(void)w;
|
||||
|
||||
FileFilterT filters[] = {
|
||||
{ "Images (*.bmp;*.png;*.jpg;*.gif)", "*.bmp;*.png;*.jpg;*.gif" },
|
||||
{ "All Files (*.*)", "*.*" }
|
||||
{ "Images (*.bmp;*.png;*.jpg;*.gif)" },
|
||||
{ "All Files (*.*)" }
|
||||
};
|
||||
|
||||
char path[DVX_MAX_PATH];
|
||||
|
|
@ -810,8 +810,8 @@ static void ppdOnBrowseHelp(WidgetT *w) {
|
|||
(void)w;
|
||||
|
||||
FileFilterT filters[] = {
|
||||
{ "Help Files (*.hlp)", "*.hlp" },
|
||||
{ "All Files (*.*)", "*.*" }
|
||||
{ "Help Files (*.hlp)" },
|
||||
{ "All Files (*.*)" }
|
||||
};
|
||||
|
||||
char path[DVX_MAX_PATH];
|
||||
|
|
@ -4632,7 +4632,7 @@ static BasVmResultE execFsOp(BasVmT *vm, uint8_t op) {
|
|||
BasValueT pathStr = basValToString(pathVal);
|
||||
basValRelease(&pathVal);
|
||||
|
||||
if (chdir(pathStr.strVal->data) != 0) {
|
||||
if (platformChdir(pathStr.strVal->data) != 0) {
|
||||
basValRelease(&pathStr);
|
||||
runtimeError(vm, 76, "Path not found");
|
||||
return BAS_VM_FILE_ERROR;
|
||||
|
|
@ -4652,13 +4652,14 @@ static BasVmResultE execFsOp(BasVmT *vm, uint8_t op) {
|
|||
BasValueT driveStr = basValToString(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]) {
|
||||
char drivePath[4];
|
||||
drivePath[0] = driveStr.strVal->data[0];
|
||||
drivePath[1] = ':';
|
||||
drivePath[2] = '\0';
|
||||
chdir(drivePath);
|
||||
platformChdir(drivePath);
|
||||
}
|
||||
|
||||
basValRelease(&driveStr);
|
||||
|
|
@ -18,10 +18,10 @@
|
|||
#include "../runtime/vm.h"
|
||||
#include "../runtime/values.h"
|
||||
#include "../runtime/serialize.h"
|
||||
#include "../../core/dvxRes.h"
|
||||
#include "../../core/dvxPrefs.h"
|
||||
#include "../../core/dvxTypes.h"
|
||||
#include "../../tools/dvxResWrite.h"
|
||||
#include "../../../../libs/kpunch/libdvx/dvxRes.h"
|
||||
#include "../../../../libs/kpunch/libdvx/dvxPrefs.h"
|
||||
#include "../../../../libs/kpunch/libdvx/dvxTypes.h"
|
||||
#include "../../../../tools/dvxResWrite.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -5,8 +5,8 @@ Description = DVX Help source editor with syntax highlighting and preview
|
|||
Icon = ICON32.BMP
|
||||
|
||||
[Modules]
|
||||
File0 = ../../../include/basic/commdlg.bas
|
||||
File1 = ../../../include/basic/help.bas
|
||||
File0 = ../../../../include/basic/commdlg.bas
|
||||
File1 = ../../../../include/basic/help.bas
|
||||
Count = 2
|
||||
|
||||
[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