X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2FMakefile.tpl;h=bc5edf8e83f74d278e3e996ba18b30eee022da27;hb=ca98046234be95e3dc13b822ff989f422c8b48ed;hp=71600752d9cf20c4485bbff6d39fc983db2a3d80;hpb=9e863698bbc96747979807687412a16dcf67ec06;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/Makefile.tpl b/Usermode/Libraries/Makefile.tpl index 71600752..bc5edf8e 100644 --- a/Usermode/Libraries/Makefile.tpl +++ b/Usermode/Libraries/Makefile.tpl @@ -3,7 +3,7 @@ # -_BIN := $(OUTPUTDIR)Libs/$(BIN) +_BIN := $(addprefix $(OUTPUTDIR)Libs/,$(BIN)) _XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN)) _OBJPREFIX := obj-$(ARCH)/ @@ -12,11 +12,37 @@ _LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS)) OBJ := $(addprefix $(_OBJPREFIX),$(OBJ)) +UTESTS := $(patsubst TEST_%.c,%,$(wildcard TEST_*.c)) DEPFILES := $(addsuffix .dep,$(OBJ)) .PHONY: all clean install postbuild -all: $(_BIN) $(_XBIN) +all: _libs $(_BIN) $(_XBIN) + +.PHONY: _libs + + +HEADERS := $(patsubst include_exp/%,../../include/%,$(shell find include_exp/ -name \*.h)) +_libs: $(HEADERS) + +../../include/%: include_exp/% + @mkdir -p $(dir $@) + @ln -s $(shell pwd)/$< $@ + +.PHONY: utest utest-build utest-run $(UTESTS:%=runtest-%) + +utest: utest-build utest-run + +generate_exp: $(UTESTS:%=EXP_%.txt) + @echo > /dev/null + +utest-build: $(UTESTS:%=TEST_%) + +utest-run: $(UTESTS:%=runtest-%) + @echo > /dev/null + +$(UTESTS:%=runtest-%): runtest-%: TEST_% + ./TEST_$* | diff EXP_$*.txt - clean: $(RM) $(_BIN) $(_XBIN) $(OBJ) $(_BIN).dsm $(DEPFILES) $(EXTRACLEAN) @@ -61,4 +87,17 @@ endif $(OUTPUTDIR)Libs/%: @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/ + +obj-native/%.no: %.c + @mkdir -p $(dir $@) + $(NCC) -c $< -o $@ -Wall -std=gnu99 -MD -MP -MF $@.dep + +TEST_%: obj-native/TEST_%.no obj-native/%.no + $(NCC) -o $@ $^ + +-include $(UTESTS:%=obj-native/TEST_%.no.dep) +-include $(UTESTS:%=obj-native/%.no.dep) + -include $(DEPFILES) + +# vim: ft=make