# DV/X GUI Makefile for DJGPP cross-compilation DJGPP_PREFIX = $(HOME)/djgpp/djgpp CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc CFLAGS = -O2 -Wall -Wextra -march=i486 -mtune=i586 LDFLAGS = -lm OBJDIR = ../obj BINDIR = ../bin SRCS = dvxVideo.c dvxDraw.c dvxComp.c dvxWm.c dvxIcon.c dvxWidget.c dvxApp.c demo.c OBJS = $(patsubst %.c,$(OBJDIR)/%.o,$(SRCS)) TARGET = $(BINDIR)/demo.exe .PHONY: all clean all: $(TARGET) $(TARGET): $(OBJS) | $(BINDIR) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(OBJDIR)/%.o: %.c | $(OBJDIR) $(CC) $(CFLAGS) -c -o $@ $< $(OBJDIR): mkdir -p $(OBJDIR) $(BINDIR): mkdir -p $(BINDIR) # Dependencies $(OBJDIR)/dvxVideo.o: dvxVideo.c dvxVideo.h dvxTypes.h dvxPalette.h $(OBJDIR)/dvxDraw.o: dvxDraw.c dvxDraw.h dvxTypes.h $(OBJDIR)/dvxComp.o: dvxComp.c dvxComp.h dvxTypes.h $(OBJDIR)/dvxWm.o: dvxWm.c dvxWm.h dvxTypes.h dvxDraw.h dvxComp.h dvxVideo.h thirdparty/stb_image.h $(OBJDIR)/dvxIcon.o: dvxIcon.c thirdparty/stb_image.h $(OBJDIR)/dvxWidget.o: dvxWidget.c dvxWidget.h dvxTypes.h dvxApp.h dvxDraw.h dvxWm.h dvxVideo.h $(OBJDIR)/dvxApp.o: dvxApp.c dvxApp.h dvxTypes.h dvxVideo.h dvxDraw.h dvxComp.h dvxWm.h dvxFont.h dvxCursor.h $(OBJDIR)/demo.o: demo.c dvxApp.h dvxWidget.h clean: rm -rf $(OBJDIR) $(BINDIR)