Project

General

Profile

Callback's for external dll libraries with Oberon » Makefile

Runar Tenfjord, 28 September 2024 09:09

 
.SUFFIXES:
MAKEFLAGS += --no-builtin-rules --no-builtin-variables

OB := ecsd
LKM := linkmem
PRG = .exe
ECS := /c/EigenCompilerSuite/runtime

.PHONY: all
all : extsqlite.lib extui.lib

build/winui.obf: src/winui.cpp
@echo building $@
@mkdir -p build
@cd build && cp ../src/winlib.hpp .
@cd build && cp ../src/ui.cpp .
@cd build && cp ../src/winui.cpp .
@cd build && $(OB) -c $(notdir $<)

build/winsqlite.obf: src/winsqlite.cpp
@echo building $@
@mkdir -p build
@cd build && cp ../src/winlib.hpp .
@cd build && cp ../src/sqlite.cpp .
@cd build && cp ../src/winsqlite.cpp .
@cd build && $(OB) -c $(notdir $<)

build/%.obf: src/%.mod
@echo compiling $<
@mkdir -p build
@cd build && ecsd -c $(addprefix ../, $<)

extsqlite.lib : build/Ext.Sqlite.obf build/winsqlite.obf
@echo linking $@
@-rm $@
@touch $@
@linklib $@ $^

extui.lib : build/Ext.UI.obf build/winui.obf
@echo linking $@
@-rm $@
@touch $@
@linklib $@ $^

build/test$(PRG): src/test.mod extui.lib
@echo building $@
@mkdir -p build
@cd build && cp -f ../src/test.mod .
@cd build && $(OB) $(notdir $<) ../extui.lib

run: build/test$(PRG)
@cp build/test$(PRG) test$(PRG)
@./test$(PRG)

.PHONY: clean
clean:
@echo Clean
@-rm -rf build
(5-5/5)