diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2018-12-27 20:50:39 +0100 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2018-12-27 20:50:39 +0100 |
| commit | b0b0e97aa5a06b22768bb9c9ea5e8caf383d78a4 (patch) | |
| tree | 8432ca1d8bf811bc7de6240e5988fb84e35b1f40 /makemakefile.sh | |
| parent | 64b6b40ace30693f0e12d56799abc40c997df07c (diff) | |
split into multiple files
Diffstat (limited to 'makemakefile.sh')
| -rwxr-xr-x | makemakefile.sh | 57 |
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 |
