Skip to content

Commit 850cab8

Browse files
committed
Command Line Version, with GCC Makefile. One day it will run on linux.
1 parent 3f25dab commit 850cab8

File tree

8 files changed

+1150
-7
lines changed

8 files changed

+1150
-7
lines changed

Makefile

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ INCDIR=include
33

44
CXX=cl /nologo
55
LD=link /nologo
6-
CXXFLAGS=/c /O1 /I$(INCDIR) /W4 /Zi /DWIN32_LEAN_AND_MEAN /DWINVER=0x0501 /D_WIN32_WINNT=0x0501 /wd4100 /DUNICODE /D_UNICODE
6+
CXXFLAGS=/c /O1 /I$(INCDIR) /W4 /Zi /DWIN32_LEAN_AND_MEAN /DWINVER=0x0501 /D_WIN32_WINNT=0x0501 /wd4100 /DUNICODE /D_UNICODE /EHsc
77
LDFLAGS=/subsystem:windows /debug /manifest /incremental:no /opt:REF
88
LDFLAGS=$(LDFLAGS) "/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
99
RC=rc /nologo
@@ -31,16 +31,24 @@ FILES=$(OUTDIR)\Zalgo.obj \
3131
$(OUTDIR)\NLSWrap.obj \
3232
$(OUTDIR)\MyDropTarget.obj \
3333
$(OUTDIR)\Zalgo.res
34+
DISTS=$(DISTDIR)\Zalgo.exe \
35+
$(DISTDIR)\hecomes.exe \
36+
$(DISTDIR)\hegoes.exe
3437

35-
all: initdir $(DISTDIR)\Zalgo.exe
38+
CMDFILE=$(OUTDIR)\ZalgoLib.obj \
39+
$(OUTDIR)\OptionParser.obj
40+
41+
all: initdir $(DISTS)
42+
hecomes: $(DISTDIR)\hecomes.exe
43+
hecomes: $(DISTDIR)\hegoes.exe
3644

3745
initdir:
38-
if not exist build md build
39-
if not exist $(OUTDIR) md $(OUTDIR)
40-
if not exist build md dist
41-
if not exist $(DISTDIR) md $(DISTDIR)
46+
@if not exist build md build
47+
@if not exist $(OUTDIR) md $(OUTDIR)
48+
@if not exist build md dist
49+
@if not exist $(DISTDIR) md $(DISTDIR)
4250

43-
compress: $(DISTDIR)\Zalgo.exe
51+
compress: $(DISTS)
4452
upx --best $**
4553

4654
$(INCDIR)\MainWindow.hpp: $(INCDIR)\Window.hpp $(INCDIR)\MyDropTarget.hpp $(INCDIR)\PreviewWindow.hpp
@@ -57,6 +65,11 @@ $(SRCDIR)\Window.cpp: $(INCDIR)\Window.hpp
5765
$(SRCDIR)\NLSWrap.cpp: $(INCDIR)\NLSWrap.hpp
5866
$(SRCDIR)\MainLogic.cpp: $(INCDIR)\MainWindow.hpp $(INCDIR)\NLSWrap.hpp $(INCDIR)\ConversionData.inc
5967

68+
$(SRCDIR)\ZalgoLib.cpp: $(INCDIR)\ZalgoLib.h $(INCDIR)\ConversionData.inc
69+
$(SRCDIR)\OptionParser.cpp: $(INCDIR)\OptionParser.h
70+
$(SRCDIR)\hecomes.cpp: $(INCDIR)\OptionParser.h $(INCDIR)\ZalgoLib.h
71+
$(SRCDIR)\hegoes.cpp: $(INCDIR)\OptionParser.h $(INCDIR)\ZalgoLib.h
72+
6073
$(OUTDIR)\Zalgo.res: Zalgo.rc res\x-sampa.txt res\init.txt
6174
$(RC) $(RCFLAGS) /fo$@ Zalgo.rc
6275

@@ -66,3 +79,9 @@ $(OUTDIR)\Zalgo.res: Zalgo.rc res\x-sampa.txt res\init.txt
6679
$(DISTDIR)\Zalgo.exe: $(FILES)
6780
$(LD) /out:$@ $(LDFLAGS) $** $(LIBS)
6881
mt.exe -nologo -manifest $@.manifest -outputresource:$@;1 && del $@.manifest || set ERRORLEVEL=0
82+
83+
$(DISTDIR)\hecomes.exe: $(CMDFILE) $(OUTDIR)\hecomes.obj
84+
$(LD) /out:$@ $**
85+
86+
$(DISTDIR)\hegoes.exe: $(CMDFILE) $(OUTDIR)\hegoes.obj
87+
$(LD) /out:$@ $**

Makefile.gcc

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
SRCDIR=src
2+
INCDIR=include
3+
4+
ifdef CROSS
5+
KROSS=$(CROSS)-
6+
endif
7+
8+
CXX=$(KROSS)g++ -std=c++11
9+
STRIP=$(KROSS)strip
10+
LD=$(CXX)
11+
CXXFLAGS=-c -O3 -I$(INCDIR) -Wall -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 -DUNICODE -D_UNICODE
12+
LDFLAGS=-static-libstdc++
13+
LIBS=
14+
15+
ifdef DEBUG
16+
BUILD=Debug
17+
CXXFLAGS=$(CXXFLAGS) -DDEBUG
18+
LDFLAGS=$(LDFLAGS) -g
19+
else
20+
BUILD=Release
21+
endif
22+
23+
OUTDIR=build/$(BUILD)
24+
DISTDIR=dist/$(BUILD)
25+
DISTS=$(DISTDIR)/hecomes \
26+
$(DISTDIR)/hegoes
27+
28+
FILES=$(OUTDIR)/ZalgoLib.o \
29+
$(OUTDIR)/OptionParser.o
30+
31+
all: initdir $(DISTS)
32+
hecomes: $(DISTDIR)/hecomes
33+
hecomes: $(DISTDIR)/hegoes
34+
35+
.PHONY: clean
36+
37+
clean:
38+
rm $(OUTDIR)/*.o
39+
rm $(DISTS)
40+
41+
strip:
42+
$(STRIP) $(DISTS)
43+
44+
initdir:
45+
-test -d build || mkdir build
46+
-test -d $(OUTDIR) || mkdir $(OUTDIR)
47+
-test -d build || mkdir dist
48+
-test -d $(DISTDIR) || mkdir $(DISTDIR)
49+
50+
$(SRCDIR)/ZalgoLib.cpp: $(INCDIR)/ZalgoLib.h $(INCDIR)/ConversionData.inc
51+
$(SRCDIR)/OptionParser.cpp: $(INCDIR)/OptionParser.h
52+
$(SRCDIR)/hecomes.cpp: $(INCDIR)/OptionParser.h $(INCDIR)/ZalgoLib.h
53+
$(SRCDIR)/hegoes.cpp: $(INCDIR)/OptionParser.h $(INCDIR)/ZalgoLib.h
54+
55+
$(OUTDIR)/%.o: $(SRCDIR)/%.cpp
56+
$(CXX) $(CXXFLAGS) -o $@ -c $<
57+
58+
$(DISTDIR)/hecomes: $(FILES) $(OUTDIR)/hecomes.o
59+
$(LD) $(LDFLAGS) -o $@ $^
60+
61+
$(DISTDIR)/hegoes: $(FILES) $(OUTDIR)/hegoes.o
62+
$(LD) $(LDFLAGS) -o $@ $^

0 commit comments

Comments
 (0)