# DVX Shell Makefile for DJGPP cross-compilation DJGPP_PREFIX = $(HOME)/djgpp/djgpp DJGPP_LIBPATH = $(HOME)/claude/windriver/tools/lib CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc EXE2COFF = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/exe2coff CWSDSTUB = $(DJGPP_PREFIX)/i586-pc-msdosdjgpp/bin/CWSDSTUB.EXE CFLAGS = -O2 -Wall -Wextra -march=i486 -mtune=i586 -I../dvx -I../tasks LDFLAGS = -L../lib -ldvx -ltasks -lm OBJDIR = ../obj/dvxshell BINDIR = ../bin CONFIGDIR = ../bin/config THEMEDIR = ../bin/config/themes LIBDIR = ../lib SRCS = shellMain.c shellApp.c shellExport.c shellInfo.c shellTaskMgr.c OBJS = $(patsubst %.c,$(OBJDIR)/%.o,$(SRCS)) TARGET = $(BINDIR)/dvx.exe .PHONY: all clean libs THEMES = $(THEMEDIR)/geos.thm $(THEMEDIR)/win31.thm $(THEMEDIR)/cde.thm all: libs $(TARGET) $(CONFIGDIR)/dvx.ini $(THEMES) libs: $(MAKE) -C ../dvx $(MAKE) -C ../tasks $(TARGET): $(OBJS) $(LIBDIR)/libdvx.a $(LIBDIR)/libtasks.a | $(BINDIR) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) -Wl,-Map=$(BINDIR)/dvx.map $(EXE2COFF) $@ cat $(CWSDSTUB) $(BINDIR)/dvx > $@ rm -f $(BINDIR)/dvx $(CONFIGDIR)/dvx.ini: ../dvx.ini | $(CONFIGDIR) sed 's/$$/\r/' $< > $@ $(OBJDIR)/%.o: %.c | $(OBJDIR) $(CC) $(CFLAGS) -c -o $@ $< $(OBJDIR): mkdir -p $(OBJDIR) $(BINDIR): mkdir -p $(BINDIR) $(CONFIGDIR): mkdir -p $(CONFIGDIR) $(THEMEDIR): mkdir -p $(THEMEDIR) $(THEMEDIR)/%.thm: ../themes/%.thm | $(THEMEDIR) sed 's/$$/\r/' $< > $@ # Dependencies $(OBJDIR)/shellMain.o: shellMain.c shellApp.h ../dvx/dvxApp.h ../dvx/dvxDialog.h ../tasks/taskswitch.h $(OBJDIR)/shellApp.o: shellApp.c shellApp.h ../dvx/dvxApp.h ../dvx/dvxDialog.h ../tasks/taskswitch.h $(OBJDIR)/shellExport.o: shellExport.c shellApp.h shellInfo.h ../dvx/dvxApp.h ../dvx/dvxDialog.h ../dvx/dvxWidget.h ../dvx/dvxDraw.h ../dvx/dvxVideo.h ../dvx/dvxWm.h ../tasks/taskswitch.h $(OBJDIR)/shellInfo.o: shellInfo.c shellInfo.h shellApp.h ../dvx/dvxApp.h ../dvx/platform/dvxPlatform.h $(OBJDIR)/shellTaskMgr.o: shellTaskMgr.c shellTaskMgr.h shellApp.h ../dvx/dvxApp.h ../dvx/dvxDialog.h ../dvx/dvxWidget.h ../dvx/dvxWm.h ../dvx/platform/dvxPlatform.h clean: rm -f $(OBJS) $(TARGET) $(BINDIR)/dvx.map $(BINDIR)/dvx.log rm -rf $(THEMEDIR) $(CONFIGDIR)