Fossil

Check-in [ce55bc43]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Make the shell commands used by the MinGW more configurable and attempt to support building inside the Windows command prompt.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ce55bc43bdb3b880819937b98e12dd212ce1c54c
User & Date: mistachkin 2012-09-03 00:51:24.389
Context
2012-09-03
03:00
In the MinGW makefile, instead of attempting to auto-detect if the Windows command prompt is being used, rely on the manually set USE_WINDOWS variable instead. ... (check-in: 7bf4c290 user: mistachkin tags: trunk)
00:51
Make the shell commands used by the MinGW more configurable and attempt to support building inside the Windows command prompt. ... (check-in: ce55bc43 user: mistachkin tags: trunk)
00:24
Fix dependencies on generated headers in the MinGW makefile. Also, remove superfluous EXE extension on executables used during the build process. ... (check-in: 4e8d2f29 user: mistachkin tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/makemake.tcl.
529
530
531
532
533
534
535
536
537
538

539
540
541
542
543
544




545
546
547
548
549




550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
writeln -nonewline "OBJ ="
foreach s [lsort $src] {
  writeln -nonewline " \\\n \$(OBJDIR)/$s.o"
}
writeln "\n"
writeln "APPNAME = ${name}.exe"
writeln {
#### Attempt to determine if this is the actual MSYS shell.  If so, we need to
#    use forward slashes for correctness.  If the SHELL environment variable
#    exists, it is assumed that we are building inside of a Unix-style shell.

#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version




else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)




endif}

writeln {
all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	cp $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	mkdir -p $(INSTALLDIR)
	mv $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	mkdir $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c








<
|
|
>






>
>
>
>





>
>
>
>






|
|



|
|


|







529
530
531
532
533
534
535

536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
writeln -nonewline "OBJ ="
foreach s [lsort $src] {
  writeln -nonewline " \\\n \$(OBJDIR)/$s.o"
}
writeln "\n"
writeln "APPNAME = ${name}.exe"
writeln {

#### If the SHELL environment variable exists, it is assumed that we are
#    building inside of a Unix-style shell; otherwise, it is assumed that
#    we are building inside of a Windows-style shell.
#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version
CP          = cp
MV          = mv
RM          = rm -rf
MKDIR       = mkdir -p
else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)
CP          = copy
MV          = move
RM          = del /S /Q
MKDIR       = mkdir
endif}

writeln {
all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	$(CP) $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	$(CP) $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	$(MKDIR) $(INSTALLDIR)
	$(MV) $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	$(MKDIR) $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c

606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	rm -rf $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi

}

set mhargs {}







|







614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	$(RM) $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi

}

set mhargs {}
Changes to win/Makefile.mingw.
493
494
495
496
497
498
499
500
501
502

503
504
505
506
507
508




509
510
511
512
513




514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
 $(OBJDIR)/wysiwyg.o \
 $(OBJDIR)/xfer.o \
 $(OBJDIR)/xfersetup.o \
 $(OBJDIR)/zip.o

APPNAME = fossil.exe

#### Attempt to determine if this is the actual MSYS shell.  If so, we need to
#    use forward slashes for correctness.  If the SHELL environment variable
#    exists, it is assumed that we are building inside of a Unix-style shell.

#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version




else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)




endif

all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	cp $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	mkdir -p $(INSTALLDIR)
	mv $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	mkdir $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c








<
|
|
>






>
>
>
>





>
>
>
>





|
|



|
|


|







493
494
495
496
497
498
499

500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
 $(OBJDIR)/wysiwyg.o \
 $(OBJDIR)/xfer.o \
 $(OBJDIR)/xfersetup.o \
 $(OBJDIR)/zip.o

APPNAME = fossil.exe


#### If the SHELL environment variable exists, it is assumed that we are
#    building inside of a Unix-style shell; otherwise, it is assumed that
#    we are building inside of a Windows-style shell.
#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version
CP          = cp
MV          = mv
RM          = rm -rf
MKDIR       = mkdir -p
else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)
CP          = copy
MV          = move
RM          = del /S /Q
MKDIR       = mkdir
endif

all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	$(CP) $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	$(CP) $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	$(MKDIR) $(INSTALLDIR)
	$(MV) $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	$(MKDIR) $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c

564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	rm -rf $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi


$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
	$(MKINDEX) $(TRANS_SRC) >$@







|







572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	$(RM) $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi


$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
	$(MKINDEX) $(TRANS_SRC) >$@
Changes to win/Makefile.mingw.mistachkin.
493
494
495
496
497
498
499
500
501
502

503
504
505
506
507
508




509
510
511
512
513




514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
 $(OBJDIR)/wysiwyg.o \
 $(OBJDIR)/xfer.o \
 $(OBJDIR)/xfersetup.o \
 $(OBJDIR)/zip.o

APPNAME = fossil.exe

#### Attempt to determine if this is the actual MSYS shell.  If so, we need to
#    use forward slashes for correctness.  If the SHELL environment variable
#    exists, it is assumed that we are building inside of a Unix-style shell.

#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version




else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)




endif

all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	cp $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	cp $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	mkdir -p $(INSTALLDIR)
	mv $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	mkdir $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c








<
|
|
>






>
>
>
>





>
>
>
>





|
|



|
|


|







493
494
495
496
497
498
499

500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
 $(OBJDIR)/wysiwyg.o \
 $(OBJDIR)/xfer.o \
 $(OBJDIR)/xfersetup.o \
 $(OBJDIR)/zip.o

APPNAME = fossil.exe


#### If the SHELL environment variable exists, it is assumed that we are
#    building inside of a Unix-style shell; otherwise, it is assumed that
#    we are building inside of a Windows-style shell.
#
ifdef SHELL
TRANSLATE   = $(OBJDIR)/translate
MAKEHEADERS = $(OBJDIR)/makeheaders
MKINDEX     = $(OBJDIR)/mkindex
VERSION     = $(OBJDIR)/version
CP          = cp
MV          = mv
RM          = rm -rf
MKDIR       = mkdir -p
else
TRANSLATE   = $(subst /,\\,$(OBJDIR)/translate)
MAKEHEADERS = $(subst /,\\,$(OBJDIR)/makeheaders)
MKINDEX     = $(subst /,\\,$(OBJDIR)/mkindex)
VERSION     = $(subst /,\\,$(OBJDIR)/version)
CP          = copy
MV          = move
RM          = del /S /Q
MKDIR       = mkdir
endif

all:	$(OBJDIR) $(APPNAME)

$(OBJDIR)/fossil.o:	$(SRCDIR)/../win/fossil.rc $(OBJDIR)/VERSION.h
	$(CP) $(SRCDIR)/../win/fossil.rc $(OBJDIR)
	$(CP) $(SRCDIR)/../win/fossil.ico $(OBJDIR)
	$(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o

install:	$(APPNAME)
	$(MKDIR) $(INSTALLDIR)
	$(MV) $(APPNAME) $(INSTALLDIR)

$(OBJDIR):
	$(MKDIR) $(OBJDIR)

$(OBJDIR)/translate:	$(SRCDIR)/translate.c
	$(BCC) -o $(OBJDIR)/translate $(SRCDIR)/translate.c

$(OBJDIR)/makeheaders:	$(SRCDIR)/makeheaders.c
	$(BCC) -o $(OBJDIR)/makeheaders $(SRCDIR)/makeheaders.c

564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	rm -rf $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi


$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
	$(MKINDEX) $(TRANS_SRC) >$@







|







572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
	# noop

# Requires MSYS to be installed in addition to the MinGW, for the "rm"
# command.  "del" will not work here because it is not a separate command
# but a MSDOS-shell builtin.
#
clean:
	$(RM) $(OBJDIR) $(APPNAME)

setup: $(OBJDIR) $(APPNAME)
	$(MAKENSIS) ./fossil.nsi


$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
	$(MKINDEX) $(TRANS_SRC) >$@