103 lines
4.2 KiB
Makefile
103 lines
4.2 KiB
Makefile
# DV/X GUI Library Makefile for DJGPP cross-compilation
|
|
|
|
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
|
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
|
|
DJGPP_LIBPATH = $(HOME)/claude/windriver/tools/lib
|
|
AR = LD_LIBRARY_PATH=$(DJGPP_LIBPATH) $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-ar
|
|
RANLIB = LD_LIBRARY_PATH=$(DJGPP_LIBPATH) $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-ranlib
|
|
CFLAGS = -O2 -Wall -Wextra -march=i486 -mtune=i586
|
|
|
|
OBJDIR = ../obj/dvx
|
|
WOBJDIR = ../obj/dvx/widgets
|
|
LIBDIR = ../lib
|
|
|
|
SRCS = dvxVideo.c dvxDraw.c dvxComp.c dvxWm.c dvxIcon.c dvxImageWrite.c dvxApp.c
|
|
|
|
WSRCS = widgets/widgetCore.c \
|
|
widgets/widgetLayout.c \
|
|
widgets/widgetEvent.c \
|
|
widgets/widgetOps.c \
|
|
widgets/widgetBox.c \
|
|
widgets/widgetButton.c \
|
|
widgets/widgetCheckbox.c \
|
|
widgets/widgetComboBox.c \
|
|
widgets/widgetDropdown.c \
|
|
widgets/widgetCanvas.c \
|
|
widgets/widgetImage.c \
|
|
widgets/widgetLabel.c \
|
|
widgets/widgetListBox.c \
|
|
widgets/widgetProgressBar.c \
|
|
widgets/widgetRadio.c \
|
|
widgets/widgetSeparator.c \
|
|
widgets/widgetSlider.c \
|
|
widgets/widgetSpacer.c \
|
|
widgets/widgetStatusBar.c \
|
|
widgets/widgetTabControl.c \
|
|
widgets/widgetTextInput.c \
|
|
widgets/widgetToolbar.c \
|
|
widgets/widgetTreeView.c
|
|
|
|
OBJS = $(patsubst %.c,$(OBJDIR)/%.o,$(SRCS))
|
|
WOBJS = $(patsubst widgets/%.c,$(WOBJDIR)/%.o,$(WSRCS))
|
|
TARGET = $(LIBDIR)/libdvx.a
|
|
|
|
.PHONY: all clean
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS) $(WOBJS) | $(LIBDIR)
|
|
$(AR) rcs $@ $(OBJS) $(WOBJS)
|
|
$(RANLIB) $@
|
|
|
|
$(OBJDIR)/%.o: %.c | $(OBJDIR)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(WOBJDIR)/%.o: widgets/%.c | $(WOBJDIR)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJDIR):
|
|
mkdir -p $(OBJDIR)
|
|
|
|
$(WOBJDIR):
|
|
mkdir -p $(WOBJDIR)
|
|
|
|
$(LIBDIR):
|
|
mkdir -p $(LIBDIR)
|
|
|
|
# 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)/dvxImageWrite.o: dvxImageWrite.c thirdparty/stb_image_write.h
|
|
$(OBJDIR)/dvxApp.o: dvxApp.c dvxApp.h dvxTypes.h dvxVideo.h dvxDraw.h dvxComp.h dvxWm.h dvxFont.h dvxCursor.h
|
|
|
|
# Widget file dependencies
|
|
WIDGET_DEPS = widgets/widgetInternal.h dvxWidget.h dvxTypes.h dvxApp.h dvxDraw.h dvxWm.h dvxVideo.h
|
|
$(WOBJDIR)/widgetCore.o: widgets/widgetCore.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetLayout.o: widgets/widgetLayout.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetEvent.o: widgets/widgetEvent.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetOps.o: widgets/widgetOps.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetBox.o: widgets/widgetBox.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetCanvas.o: widgets/widgetCanvas.c $(WIDGET_DEPS) thirdparty/stb_image.h thirdparty/stb_image_write.h
|
|
$(WOBJDIR)/widgetButton.o: widgets/widgetButton.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetCheckbox.o: widgets/widgetCheckbox.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetComboBox.o: widgets/widgetComboBox.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetDropdown.o: widgets/widgetDropdown.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetImage.o: widgets/widgetImage.c $(WIDGET_DEPS) thirdparty/stb_image.h
|
|
$(WOBJDIR)/widgetLabel.o: widgets/widgetLabel.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetListBox.o: widgets/widgetListBox.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetProgressBar.o: widgets/widgetProgressBar.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetRadio.o: widgets/widgetRadio.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetSeparator.o: widgets/widgetSeparator.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetSlider.o: widgets/widgetSlider.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetSpacer.o: widgets/widgetSpacer.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetStatusBar.o: widgets/widgetStatusBar.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetTabControl.o: widgets/widgetTabControl.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetTextInput.o: widgets/widgetTextInput.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetToolbar.o: widgets/widgetToolbar.c $(WIDGET_DEPS)
|
|
$(WOBJDIR)/widgetTreeView.o: widgets/widgetTreeView.c $(WIDGET_DEPS)
|
|
|
|
clean:
|
|
rm -rf $(OBJDIR) $(LIBDIR)
|