WinDriver/Makefile
2026-02-21 18:01:54 -06:00

53 lines
1.3 KiB
Makefile

# ============================================================================
# Makefile for windrv demo - Windows 3.x display driver loader for DJGPP/DOS
# ============================================================================
DJGPP_PREFIX ?= $(HOME)/djgpp/djgpp
CC = $(DJGPP_PREFIX)/bin/i586-pc-msdosdjgpp-gcc
CFLAGS = -Wall -Wextra -O2 -std=gnu99 -Iwin31drv
LDFLAGS =
# DJGPP binutils need libfl.so.2 which may not be installed system-wide
export LD_LIBRARY_PATH := $(realpath tools/lib):$(LD_LIBRARY_PATH)
OBJDIR = obj
BINDIR = bin
LIBDIR = win31drv
LIB = $(LIBDIR)/libwindrv.a
DEMO_SRC = demo.c
DEMO_OBJ = $(OBJDIR)/demo.o
DEMO_EXE = $(BINDIR)/demo.exe
.PHONY: all clean lib demo
all: lib demo
lib:
$(MAKE) -C $(LIBDIR)
demo: $(DEMO_EXE)
$(DEMO_EXE): $(DEMO_OBJ) lib | $(BINDIR)
$(CC) $(CFLAGS) -o $@ $(DEMO_OBJ) -L$(LIBDIR) -lwindrv $(LDFLAGS)
unzip -oj tools/cwsdpmi.zip bin/CWSDPMI.EXE -d $(BINDIR) 2>/dev/null; true
cp tools/TEST.BAT $(BINDIR)/
-cp -n drivers/*.DRV $(BINDIR)/ 2>/dev/null; true
$(OBJDIR)/%.o: %.c | $(OBJDIR)
$(CC) $(CFLAGS) -c -o $@ $<
$(OBJDIR):
mkdir -p $(OBJDIR)
$(BINDIR):
mkdir -p $(BINDIR)
# Dependencies
$(OBJDIR)/demo.o: demo.c win31drv/windrv.h win31drv/wintypes.h
clean:
$(MAKE) -C $(LIBDIR) clean
-rm -rf $(OBJDIR) $(BINDIR)