77 lines
2.8 KiB
Makefile
77 lines
2.8 KiB
Makefile
# 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 -march=i486 -mtune=i586 -I../dvx -I../tasks -I../dvxshell
|
|
|
|
OBJDIR = ../obj/apps
|
|
BINDIR = ../bin/apps
|
|
|
|
# App definitions: each is a subdir with a single .c file
|
|
APPS = progman notepad clock dvxdemo
|
|
|
|
.PHONY: all clean $(APPS)
|
|
|
|
all: $(APPS)
|
|
|
|
progman: $(BINDIR)/progman/progman.app
|
|
notepad: $(BINDIR)/notepad/notepad.app
|
|
clock: $(BINDIR)/clock/clock.app
|
|
dvxdemo: $(BINDIR)/dvxdemo/dvxdemo.app
|
|
|
|
$(BINDIR)/progman/progman.app: $(OBJDIR)/progman.o | $(BINDIR)/progman
|
|
$(DXE3GEN) -o $@ -E _appDescriptor -E _appMain -U $<
|
|
|
|
$(BINDIR)/notepad/notepad.app: $(OBJDIR)/notepad.o | $(BINDIR)/notepad
|
|
$(DXE3GEN) -o $@ -E _appDescriptor -E _appMain -U $<
|
|
|
|
$(BINDIR)/clock/clock.app: $(OBJDIR)/clock.o | $(BINDIR)/clock
|
|
$(DXE3GEN) -o $@ -E _appDescriptor -E _appMain -E _appShutdown -U $<
|
|
|
|
DVXDEMO_BMPS = logo.bmp new.bmp open.bmp sample.bmp save.bmp
|
|
|
|
$(BINDIR)/dvxdemo/dvxdemo.app: $(OBJDIR)/dvxdemo.o $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) | $(BINDIR)/dvxdemo
|
|
$(DXE3GEN) -o $@ -E _appDescriptor -E _appMain -U $<
|
|
cp $(addprefix dvxdemo/,$(DVXDEMO_BMPS)) $(BINDIR)/dvxdemo/
|
|
|
|
$(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 $@ $<
|
|
|
|
$(OBJDIR):
|
|
mkdir -p $(OBJDIR)
|
|
|
|
$(BINDIR)/progman:
|
|
mkdir -p $(BINDIR)/progman
|
|
|
|
$(BINDIR)/notepad:
|
|
mkdir -p $(BINDIR)/notepad
|
|
|
|
$(BINDIR)/clock:
|
|
mkdir -p $(BINDIR)/clock
|
|
|
|
$(BINDIR)/dvxdemo:
|
|
mkdir -p $(BINDIR)/dvxdemo
|
|
|
|
# Dependencies
|
|
$(OBJDIR)/progman.o: progman/progman.c ../dvx/dvxApp.h ../dvx/dvxDialog.h ../dvx/dvxWidget.h ../dvx/dvxWm.h ../dvxshell/shellApp.h
|
|
$(OBJDIR)/notepad.o: notepad/notepad.c ../dvx/dvxApp.h ../dvx/dvxDialog.h ../dvx/dvxWidget.h ../dvx/dvxWm.h ../dvxshell/shellApp.h
|
|
$(OBJDIR)/clock.o: clock/clock.c ../dvx/dvxApp.h ../dvx/dvxWidget.h ../dvx/dvxDraw.h ../dvx/dvxVideo.h ../dvxshell/shellApp.h ../tasks/taskswitch.h
|
|
$(OBJDIR)/dvxdemo.o: dvxdemo/dvxdemo.c ../dvx/dvxApp.h ../dvx/dvxDialog.h ../dvx/dvxWidget.h ../dvx/dvxWm.h ../dvx/dvxVideo.h ../dvxshell/shellApp.h
|
|
|
|
clean:
|
|
rm -f $(OBJDIR)/progman.o $(OBJDIR)/notepad.o $(OBJDIR)/clock.o $(OBJDIR)/dvxdemo.o
|
|
rm -f $(BINDIR)/progman/progman.app
|
|
rm -f $(BINDIR)/notepad/notepad.app
|
|
rm -f $(BINDIR)/clock/clock.app
|
|
rm -f $(BINDIR)/dvxdemo/dvxdemo.app $(addprefix $(BINDIR)/dvxdemo/,$(DVXDEMO_BMPS))
|