X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2FMakefile.tpl;h=21f805cbe6a085362b64b7f86c4787990ea3a6b8;hb=510b64b946d75ea7512449da86c4ab5609c0c0e9;hp=7687f2e13f9435d0ecf8c8554e6e146c701574d7;hpb=8dcc3e209d0d728565a18c8dca2b0ba220b74a6f;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/Makefile.tpl b/Usermode/Libraries/Makefile.tpl index 7687f2e1..21f805cb 100644 --- a/Usermode/Libraries/Makefile.tpl +++ b/Usermode/Libraries/Makefile.tpl @@ -12,12 +12,26 @@ _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) +.PHONY: utest utest-build utest-run $(UTESTS:%=runtest-%) + +utest: utest-build utest-run + +generate_exp: $(UTESTS:%=EXP_%.txt) + +utest-build: $(UTESTS:%=TEST_%) + +utest-run: $(UTESTS:%=runtest-%) + +$(UTESTS:%=runtest-%): runtest-%: TEST_% + ./TEST_$* | diff EXP_$*.txt - + clean: $(RM) $(_BIN) $(_XBIN) $(OBJ) $(_BIN).dsm $(DEPFILES) $(EXTRACLEAN) @@ -37,14 +51,14 @@ endif $(_BIN): $(OBJ) $(_LIBS) @mkdir -p $(dir $(_BIN)) @echo [LD] -o $(BIN) $(OBJ) - $(LD) $(LDFLAGS) -o $(_BIN) $(OBJ) $(shell $(CC) -print-libgcc-file-name) - @$(DISASM) -S $(_BIN) > $(_OBJPREFIX)$(BIN).dsm + @$(LD) $(LDFLAGS) -o $(_BIN) $(OBJ) $(shell $(CC) -print-libgcc-file-name) + @$(DISASM) -D -S $(_BIN) > $(_OBJPREFIX)$(BIN).dsm $(_OBJPREFIX)%.o: %.c @echo [CC] -o $@ @mkdir -p $(dir $@) @$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< - @$(CC) -M -MT $@ $(CPPFLAGS) $< -o $@.dep + @$(CC) -M -MP -MT $@ $(CPPFLAGS) $< -o $@.dep $(_OBJPREFIX)%.ao: %.$(ASSUFFIX) @echo [AS] -o $@ @@ -61,4 +75,17 @@ endif $(OUTPUTDIR)Libs/%: @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/ + +obj-native/%.no: %.c + @mkdir -p $(dir $@) + $(NCC) -c $< -o $@ -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