X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2FMakefile.tpl;h=21f805cbe6a085362b64b7f86c4787990ea3a6b8;hb=b770132cdb8e79f27f3d429f24d94284dd6fe970;hp=e252210da9af9015ab5dee8a3cc776975a8acc11;hpb=fb3abbad5dfd71ea2b190d0b33d9c57e879fb15a;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/Makefile.tpl b/Usermode/Libraries/Makefile.tpl index e252210d..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) @@ -38,13 +52,13 @@ $(_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 + @$(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