2025-09-27 14:29:44 +00:00
|
|
|
# $Id$
|
|
|
|
|
|
|
|
|
|
TARGET = $(shell uname -s)
|
|
|
|
|
|
|
|
|
|
CC = gcc
|
2025-09-29 05:02:24 +00:00
|
|
|
CFLAGS = -Wall -Wextra -fPIC -Iinclude -D_MILSKO
|
2025-09-27 14:29:44 +00:00
|
|
|
LDFLAGS =
|
|
|
|
|
LIBS =
|
|
|
|
|
|
2025-09-29 02:43:01 +00:00
|
|
|
L_OBJS = src/ds.o src/core.o src/default.o src/draw.o src/lowlevel.o src/font.o
|
2025-09-28 13:46:18 +00:00
|
|
|
L_OBJS += src/window.o src/button.o
|
2025-09-29 02:54:08 +00:00
|
|
|
L_LIBS =
|
2025-09-27 14:29:44 +00:00
|
|
|
|
|
|
|
|
ifeq ($(TARGET),NetBSD)
|
|
|
|
|
CFLAGS += -I/usr/X11R7/include -I/usr/pkg/include
|
2025-09-28 04:04:30 +00:00
|
|
|
LDFLAGS += -L/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib
|
2025-09-27 14:29:44 +00:00
|
|
|
UNIX = 1
|
|
|
|
|
else ifeq ($(TARGET),Linux)
|
|
|
|
|
UNIX = 1
|
2025-09-28 21:15:34 +00:00
|
|
|
else ifeq ($(TARGET),Windows)
|
|
|
|
|
WINDOWS = 1
|
2025-09-27 14:29:44 +00:00
|
|
|
else
|
|
|
|
|
$(error Add your platform definition)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(UNIX),1)
|
2025-09-28 02:51:15 +00:00
|
|
|
CFLAGS += -DUSE_X11
|
2025-09-27 14:29:44 +00:00
|
|
|
LIB = lib
|
|
|
|
|
SO = .so
|
|
|
|
|
L_OBJS += src/x11.o
|
|
|
|
|
L_LIBS += -lX11
|
2025-09-28 21:15:34 +00:00
|
|
|
else ifeq ($(WINDOWS),1)
|
|
|
|
|
CFLAGS += -DUSE_GDI
|
2025-09-29 04:32:14 +00:00
|
|
|
LDFLAGS += -Wl,--out-implib,Mw.lib
|
2025-09-28 21:15:34 +00:00
|
|
|
LIB =
|
|
|
|
|
SO = .dll
|
|
|
|
|
L_OBJS += src/gdi.o
|
|
|
|
|
L_LIBS += -lgdi32
|
2025-09-27 14:29:44 +00:00
|
|
|
endif
|
|
|
|
|
|
2025-09-28 04:07:41 +00:00
|
|
|
.PHONY: all format clean
|
2025-09-27 14:29:44 +00:00
|
|
|
.SUFFIXES: .c .o
|
|
|
|
|
|
2025-09-29 00:06:16 +00:00
|
|
|
all: $(LIB)Mw$(SO)
|
2025-09-27 14:29:44 +00:00
|
|
|
|
2025-09-28 04:07:41 +00:00
|
|
|
format:
|
|
|
|
|
clang-format --verbose -i $(shell find src include -name "*.c" -or -name "*.h")
|
|
|
|
|
|
2025-09-29 00:06:16 +00:00
|
|
|
$(LIB)Mw$(SO): $(L_OBJS)
|
2025-09-27 14:29:44 +00:00
|
|
|
$(CC) $(LDFLAGS) -shared -o $@ $(L_OBJS) $(L_LIBS)
|
|
|
|
|
|
|
|
|
|
clean:
|
2025-09-29 04:32:14 +00:00
|
|
|
rm -f *.dll *.so *.a *.lib */*.o
|