Two more bug fixes:

split depend target so "make depend" and "make updatedepend"
 get the right dependencies (this puts back the previously
 temporarily removed dependencies)

deterministically pull out the right source so moc rules
 are correct
This commit is contained in:
nhkeni
2024-03-10 19:39:33 -04:00
parent 2980c55f5c
commit 0edfb577f7
2 changed files with 18 additions and 18 deletions

View File

@@ -831,7 +831,7 @@ package:
# cd sys/unix ; make -f Makefile.src updatedepend # cd sys/unix ; make -f Makefile.src updatedepend
updatedepend: updatedepend-setup updatedepend: updatedepend-setup
cp Makefile.src ../../src && \ cp Makefile.src ../../src && \
make -C ../../src MAKEFILE_NAME=Makefile.src -f Makefile.src depend && \ make -C ../../src MAKEFILE_NAME=Makefile.src -f Makefile.src depend2 && \
mv ../../src/Makefile.src . mv ../../src/Makefile.src .
@rm -f ../$(HACK_H) @rm -f ../$(HACK_H)
@@ -857,10 +857,10 @@ updatedepend-setup:
@echo "#include \"hack.h\"" >> ../../src/tile.c @echo "#include \"hack.h\"" >> ../../src/tile.c
MAKEFILE_NAME=Makefile MAKEFILE_NAME=Makefile
#depend: ../sys/unix/depend.awk \ depend: ../sys/unix/depend.awk \
# $(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \ $(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
# $(CHAINSRC) $(GENCSRC) $(HACKCSRC) $(CHAINSRC) $(GENCSRC) $(HACKCSRC)
depend: depend2: $(WINQTMOC)
$(AWK) -f ../sys/unix/depend.awk ../include/*.h ../win/*/*.h \ $(AWK) -f ../sys/unix/depend.awk ../include/*.h ../win/*/*.h \
$(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \ $(SYSCSRC) $(WINCSRC) $(SYSCXXSRC) $(WINCXXSRC) \
$(CHAINSRC) $(GENCSRC) $(HACKCSRC) >makedep $(CHAINSRC) $(GENCSRC) $(HACKCSRC) >makedep
@@ -1279,27 +1279,27 @@ $(TARGETPFX)worn.o: worn.c $(HACK_H)
$(TARGETPFX)write.o: write.c $(HACK_H) $(TARGETPFX)write.o: write.c $(HACK_H)
$(TARGETPFX)zap.o: zap.c $(HACK_H) $(TARGETPFX)zap.o: zap.c $(HACK_H)
qt_kde0.moc: $(QTn_H) ../win/Qt/qt_kde0.h qt_kde0.moc: $(QTn_H) ../win/Qt/qt_kde0.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_kde0.h
qt_main.moc: $(QTn_H) ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h qt_main.moc: $(QTn_H) ../win/Qt/qt_kde0.h ../win/Qt/qt_main.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_main.h
qt_map.moc: $(QTn_H) ../win/Qt/qt_clust.h ../win/Qt/qt_map.h ../win/Qt/qt_win.h qt_map.moc: $(QTn_H) ../win/Qt/qt_clust.h ../win/Qt/qt_map.h ../win/Qt/qt_win.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_map.h
qt_menu.moc: $(QTn_H) ../win/Qt/qt_menu.h ../win/Qt/qt_rip.h ../win/Qt/qt_win.h qt_menu.moc: $(QTn_H) ../win/Qt/qt_menu.h ../win/Qt/qt_rip.h ../win/Qt/qt_win.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_menu.h
qt_msg.moc: $(QTn_H) ../win/Qt/qt_msg.h ../win/Qt/qt_win.h qt_msg.moc: $(QTn_H) ../win/Qt/qt_msg.h ../win/Qt/qt_win.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_msg.h
qt_plsel.moc: $(QTn_H) ../win/Qt/qt_plsel.h qt_plsel.moc: $(QTn_H) ../win/Qt/qt_plsel.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_plsel.h
qt_set.moc: $(QTn_H) ../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h \ qt_set.moc: $(QTn_H) ../win/Qt/qt_bind.h ../win/Qt/qt_kde0.h \
../win/Qt/qt_main.h ../win/Qt/qt_set.h ../win/Qt/qt_main.h ../win/Qt/qt_set.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_set.h
qt_stat.moc: $(QTn_H) ../win/Qt/qt_icon.h ../win/Qt/qt_stat.h \ qt_stat.moc: $(QTn_H) ../win/Qt/qt_icon.h ../win/Qt/qt_stat.h \
../win/Qt/qt_win.h ../win/Qt/qt_win.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_stat.h
qt_xcmd.moc: $(QTn_H) ../win/Qt/qt_xcmd.h qt_xcmd.moc: $(QTn_H) ../win/Qt/qt_xcmd.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_xcmd.h
qt_yndlg.moc: $(QTn_H) ../win/Qt/qt_yndlg.h qt_yndlg.moc: $(QTn_H) ../win/Qt/qt_yndlg.h
$(MOCPATH) -o $@ $(QTn_H) $(MOCPATH) -o $@ ../win/Qt/qt_yndlg.h
# DEPENDENCIES MUST END AT END OF FILE # DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY # IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above # see make depend above

View File

@@ -172,7 +172,8 @@ function format_dep(target, source, col, n, i, list, prefix, moc)
#first: leading whitespace yields empty 1st element; not sure why moc #first: leading whitespace yields empty 1st element; not sure why moc
#files duplicate the target as next element but we need to skip that too #files duplicate the target as next element but we need to skip that too
first = moc ? 3 : 2 first = moc ? 3 : 2
if (dosort ){ source = list[first]
if (dosort){
nhsort(list, first, n, 0) nhsort(list, first, n, 0)
} }
for (i = first; i <= n; i++) { for (i = first; i <= n; i++) {
@@ -185,7 +186,6 @@ function format_dep(target, source, col, n, i, list, prefix, moc)
} }
printf("\n") #terminate printf("\n") #terminate
#write build command if first source entry has non-include path prefix #write build command if first source entry has non-include path prefix
source = list[first]
if (moc) { if (moc) {
print "\t$(MOCPATH) -o $@ " source print "\t$(MOCPATH) -o $@ " source
} else if (source ~ /\// && substr(source, 1, 11) != "../include/") { } else if (source ~ /\// && substr(source, 1, 11) != "../include/") {
@@ -249,7 +249,7 @@ function nhsort(list, first, last, cmpid, i,j,temp)
function nhcmp(a,b,cmpid) function nhcmp(a,b,cmpid)
{ {
if(cmpid == 0){ # sort dependencies if(cmpid == 0){ # sort dependencies
# 2 .c or .cpp files # 2 .c or .cpp files
if (a ~ /\.c(pp)?$/ && b ~ /\.c(pp)?$/ ){ return a > b } if (a ~ /\.c(pp)?$/ && b ~ /\.c(pp)?$/ ){ return a > b }
# a .c or .cpp file and anything else # a .c or .cpp file and anything else