git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@51 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-09-29 05:15:42 +00:00
parent 3f9f192822
commit 979fb4f708
2 changed files with 42 additions and 17 deletions

View File

@@ -3,17 +3,24 @@
TARGET = $(shell uname -s)
CC = gcc
CFLAGS = -Wall -Wextra -fPIC -Iinclude -D_MILSKO
CFLAGS = -Wall -Wextra -Iinclude
LDFLAGS =
LIBS =
L_CFLAGS = $(CFLAGS) -fPIC -D_MILSKO
L_LDFLAGS = $(LDFLAGS)
L_LIBS = $(LIBS)
E_CFLAGS = $(CFLAGS)
E_LDFLAGS = $(LDFLAGS)
E_LIBS = $(LIBS)
L_OBJS = src/ds.o src/core.o src/default.o src/draw.o src/lowlevel.o src/font.o
L_OBJS += src/window.o src/button.o
L_LIBS =
ifeq ($(TARGET),NetBSD)
CFLAGS += -I/usr/X11R7/include -I/usr/pkg/include
LDFLAGS += -L/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib
L_CFLAGS += -I/usr/X11R7/include -I/usr/pkg/include
L_LDFLAGS += -L/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib
UNIX = 1
else ifeq ($(TARGET),Linux)
UNIX = 1
@@ -24,30 +31,44 @@ $(error Add your platform definition)
endif
ifeq ($(UNIX),1)
CFLAGS += -DUSE_X11
LIB = lib
SO = .so
L_CFLAGS += -DUSE_X11
L_OBJS += src/x11.o
L_LIBS += -lX11
LIB = lib
SO = .so
EXEC =
else ifeq ($(WINDOWS),1)
CFLAGS += -DUSE_GDI
LDFLAGS += -Wl,--out-implib,Mw.lib
LIB =
SO = .dll
L_CFLAGS += -DUSE_GDI
L_LDFLAGS += -Wl,--out-implib,src/Mw.lib
L_OBJS += src/gdi.o
L_LIBS += -lgdi32
LIB =
SO = .dll
EXEC = .exe
endif
.PHONY: all format clean
.SUFFIXES: .c .o
.PHONY: all format clean lib examples
all: $(LIB)Mw$(SO)
all: lib examples
lib: src/$(LIB)Mw$(SO)
examples: examples/example$(EXEC)
format:
clang-format --verbose -i $(shell find src include -name "*.c" -or -name "*.h")
$(LIB)Mw$(SO): $(L_OBJS)
$(CC) $(LDFLAGS) -shared -o $@ $(L_OBJS) $(L_LIBS)
src/$(LIB)Mw$(SO): $(L_OBJS)
$(CC) $(L_LDFLAGS) -shared -o $@ $(L_OBJS) $(L_LIBS)
examples/%$(EXEC): examples/%.o src/$(LIB)Mw$(SO)
$(CC) $(E_LDFLAGS) -o $@ $< src/$(LIB)Mw$(SO) $(E_LIBS)
src/%.o: src/%.c
$(CC) $(L_CFLAGS) -c -o $@ $<
examples/%.o: examples/%.o
$(CC) $(E_CFLAGS) -c -o $@ $<
clean:
rm -f *.dll *.so *.a *.lib */*.o
rm -f src/*.dll src/*.so src/*.a src/*.lib */*.o examples/*.exe examples/example

View File

@@ -3,6 +3,10 @@
#include <Mw/Milsko.h>
void handler(MwWidget handle, void* user_data, void* call_data){
(void)handle;
(void)user_data;
(void)call_data;
printf("hello world!\n");
}