CHECK:
@echo "Using FLAGS = $(FLAGS)"
@echo "Using LIBS = $(LIBS)"
-
-.c.o: @MAINT@ .deps/.dummy
+ @(cd $(srcdir) && ls -1d */*.c && echo bin/.) | \
+ sed 's,/[^/]*$$,,;s,^$$,.,' | \
+ while read dir; do \
+ if test ! -d "$$dir"; then \
+ echo mkdir "$$dir" && mkdir "$$dir" || true; \
+ else true; fi; \
+ done
+
+.c.o: @MAINT@ .deps/.dummy obj-dirs
@echo Compiling $*.c
+ @dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` && \
+ if test ! -d "$$dir"; then \
+ echo mkdir "$$dir" && mkdir "$$dir" || true; \
+ else true; fi
@$(CC) -I. -I$(srcdir) $(FLAGS) -c $< -o $@ \
@MAINT@ -Wp,-MD,.deps/`echo $* | sed s,/,_,g`.P && : >.deps/.stamp
# the line above is for atomatic dependency tracking
# it will only work with GNU make, gcc and --enable-maintainer-mode
-bin/smbd: $(SMBD_OBJ)
+MKDIR_BIN = if test ! -d bin; then echo mkdir bin && mkdir bin || true; else true; fi
+
+bin/smbd: $(SMBD_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(LIBS)
bin/nmbd: $(NMBD_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS)
bin/swat: $(SWAT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbrun: $(SMBRUN_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(SMBRUN_OBJ) $(LDFLAGS) $(LIBS)
-bin/rpcclient: $(RPCCLIENT_OBJ)
+bin/rpcclient: $(RPCCLIENT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(LIBS)
-bin/smbclient: $(CLIENT_OBJ)
+bin/smbclient: $(CLIENT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(LIBS)
-bin/smbmount: $(MOUNT_OBJ)
+bin/smbmount: $(MOUNT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LIBS)
-bin/smbmnt: $(MNT_OBJ)
+bin/smbmnt: $(MNT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LIBS)
-bin/smbumount: $(UMOUNT_OBJ)
+bin/smbumount: $(UMOUNT_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LIBS)
bin/testparm: $(TESTPARM_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS)
bin/testprns: $(TESTPRNS_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(LIBS)
bin/smbstatus: $(STATUS_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS)
bin/smbpasswd: $(SMBPASSWD_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS)
-bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ)
+bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(MAKE_SMBCODEPAGE_OBJ) $(LDFLAGS) $(LIBS)
bin/nmblookup: $(NMBLOOKUP_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS)
-bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ)
+bin/make_printerdef: $(MAKE_PRINTERDEF_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(MAKE_PRINTERDEF_OBJ) $(LDFLAGS) $(LIBS)
-bin/smbtorture: $(SMBTORTURE_OBJ)
+bin/smbtorture: $(SMBTORTURE_OBJ)
@echo Linking $@
+ @$(MKDIR_BIN)
@$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
-rm -f config.log $(PROGS) $(SPROGS)
distclean: realclean
- -rm -f include/config.h include/stamp-h Makefile */.dummy
+ -rm -f include/config.h include/stamp-h Makefile
-rm -f config.status config.cache
-rm -rf .deps
config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck
-Makefile: $(srcdir)/Makefile.in config.status
+Makefile: $(srcdir)/Makefile.in config.status \
+ include/stamp-h # just to ensure that config.h is up-to-date
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
# note that nothing depends on config.h, so will probably be rebuilt
$(srcdir)/include/stamp-h.in: @MAINT@ $(srcdir)/acconfig.h $(srcdir)/configure.in
cd $(srcdir) && $(AUTOHEADER)
- @cd $(srcdir) && echo > include/stamp-h.in
-
-DUMMY_FILES = @DUMMY_FILES@
-DUMMY_BASE = @DUMMY_BASE@
-
-Makefile: $(DUMMY_FILES)
-$(DUMMY_FILES):
- CONFIG_FILES=$@$(DUMMY_BASE) CONFIG_HEADERS= $(SHELL) ./config.status
+ @date -u > $@
# automatic dependency tracking rules
.deps/.dummy: