# 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