summaryrefslogtreecommitdiff
path: root/makemakefile.sh
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2018-12-27 20:50:39 +0100
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2018-12-27 20:50:39 +0100
commitb0b0e97aa5a06b22768bb9c9ea5e8caf383d78a4 (patch)
tree8432ca1d8bf811bc7de6240e5988fb84e35b1f40 /makemakefile.sh
parent64b6b40ace30693f0e12d56799abc40c997df07c (diff)
split into multiple files
Diffstat (limited to 'makemakefile.sh')
-rwxr-xr-xmakemakefile.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/makemakefile.sh b/makemakefile.sh
new file mode 100755
index 0000000..0851a60
--- /dev/null
+++ b/makemakefile.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+cd "$(dirname "$(readlink -f "$0")")"
+
+ALF_HEADERS=$(cd alf; ls *.h)
+ALF_SOURCES=$(cd alf; ls *.cpp)
+ALF_MINGW_OBJECTS=$(for i in $ALF_SOURCES; do printf ' out/%s.o' "$(basename "$i" .cpp)"; done)
+ALF_VC6_OBJECTS=$(for i in $ALF_SOURCES; do printf ' out/%s.obj' "$(basename "$i" .cpp)"; done)
+
+# mingw makefile
+(
+ printf '# automatically created by makemakefile.sh. DO NOT EDIT!\n'
+ printf '\n'
+ printf 'CXX = i686-w64-mingw32-c++\n'
+ printf 'CFLAGS = -std=c++98 -Wall -Wextra -mwindows -municode -DUNICODE -D_UNICODE -fno-exceptions -fno-rtti -gstabs\n'
+ printf 'LDFLAGS = -luser32 -lcomctl32 -lshell32 -lversion -static\n'
+ printf '\n'
+ printf 'out/widgetfactory.exe: out/widgetfactory.o %s\n' "$ALF_MINGW_OBJECTS"
+ printf '\t$(CXX) $(CFLAGS) -o $@ $^ $(LDFLAGS)\n'
+ printf '\n'
+ for i in $ALF_SOURCES; do
+ printf 'out/%s: %s %s\n' "$(basename "$i" .cpp).o" "alf/$i" "$(for k in $ALF_HEADERS; do printf ' alf/%s' "$k"; done)"
+ printf '\t$(CXX) $(CFLAGS) -c -o $@ $<\n\n'
+ done
+
+ printf 'out/widgetfactory.o: widgetfactory.cpp alf/alf.h\n'
+ printf '\t$(CXX) $(CFLAGS) -c -o $@ $<\n\n'
+
+ printf 'clean:\n'
+ printf '\trm -f out/*.o out/*.exe\n\n'
+) > Makefile.mingw
+
+
+# vc6 makefile
+(
+ printf '# automatically created by makemakefile.sh. DO NOT EDIT!\n'
+ printf '\n'
+ printf 'CXX = cl.exe\n'
+ printf 'CFLAGS = -O2 -GA -W3 -DUNICODE -D_UNICODE -D_WIN32=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -nologo\n'
+ printf 'LDFLAGS = /link kernel32.lib user32.lib comctl32.lib shell32.lib gdi32.lib version.lib\n'
+
+ printf '\n'
+ printf 'out/widgetfactory.exe: out/widgetfactory.obj %s\n' "$ALF_VC6_OBJECTS"
+ printf '\t$(CXX) $(CFLAGS) -Fe$@ $** $(LDFLAGS)\n'
+ printf '\n'
+ for i in $ALF_SOURCES; do
+ printf 'out/%s: %s %s\n' "$(basename "$i" .cpp).obj" "alf/$i" "$(for k in $ALF_HEADERS; do printf ' alf/%s' "$k"; done)"
+ printf '\t$(CXX) $(CFLAGS) -c -Fo$@ %s\n\n' "alf/$i"
+ done
+
+ printf 'out/widgetfactory.obj: widgetfactory.cpp alf/alf.h\n'
+ printf '\t$(CXX) $(CFLAGS) -c -Fo$@ widgetfactory.cpp\n\n'
+
+
+ printf 'clean:\n'
+ printf '\tdel /f out\\*.obj out\\*.exe\n\n'
+) > Makefile.vc6