48 lines
1.1 KiB
Makefile
48 lines
1.1 KiB
Makefile
# DVX GUI Demo Makefile for DJGPP cross-compilation
|
|
|
|
DJGPP_PREFIX = $(HOME)/djgpp/djgpp
|
|
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
|
|
LDFLAGS = -L../lib -ldvx -lm
|
|
|
|
OBJDIR = ../obj/dvxdemo
|
|
BINDIR = ../bin
|
|
LIBDIR = ../lib
|
|
|
|
SRCS = demo.c
|
|
OBJS = $(patsubst %.c,$(OBJDIR)/%.o,$(SRCS))
|
|
TARGET = $(BINDIR)/demo.exe
|
|
BMPS = $(wildcard *.bmp)
|
|
|
|
.PHONY: all clean lib
|
|
|
|
all: lib $(TARGET) $(addprefix $(BINDIR)/,$(BMPS))
|
|
|
|
lib:
|
|
$(MAKE) -C ../dvx
|
|
|
|
$(TARGET): $(OBJS) $(LIBDIR)/libdvx.a | $(BINDIR)
|
|
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
|
|
$(EXE2COFF) $@
|
|
cat $(CWSDSTUB) $(BINDIR)/demo > $@
|
|
rm -f $(BINDIR)/demo
|
|
|
|
$(OBJDIR)/%.o: %.c | $(OBJDIR)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJDIR):
|
|
mkdir -p $(OBJDIR)
|
|
|
|
$(BINDIR):
|
|
mkdir -p $(BINDIR)
|
|
|
|
$(BINDIR)/%.bmp: %.bmp | $(BINDIR)
|
|
cp $< $@
|
|
|
|
# Dependencies
|
|
$(OBJDIR)/demo.o: demo.c ../dvx/dvxApp.h ../dvx/dvxWidget.h
|
|
|
|
clean:
|
|
rm -rf $(OBJDIR) $(BINDIR)
|