#!/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_MINGW64_OBJECTS=$(for i in $ALF_SOURCES; do printf ' out/%s.amd64.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 'CC = i686-w64-mingw32-gcc\n' printf 'CXX = i686-w64-mingw32-c++\n' printf 'CFLAGS = -std=c99 -Wall -Wextra -Wconversion -mwindows -municode -DUNICODE -D_UNICODE -gstabs\n' printf 'CXXFLAGS = -std=c++98 -Wall -Wextra -Wconversion -Wsign-conversion -mwindows -municode -DUNICODE -D_UNICODE -fno-exceptions -fno-rtti -gstabs\n' printf 'LDFLAGS = -luser32 -lcomctl32 -lshell32 -lversion -static\n' printf '\n' printf 'all: out/widgetfactory.exe out/alf/alf.c out/widgetfactory-c.exe\n' printf '\n' printf 'out/widgetfactory.exe: out/widgetfactory.o %s\n' "$ALF_MINGW_OBJECTS" printf '\t$(CXX) $(CXXFLAGS) -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) $(CXXFLAGS) -c -o $@ $<\n\n' done printf 'out/widgetfactory.o: widgetfactory.cpp alf/alf.h\n' printf '\t$(CXX) $(CXXFLAGS) -c -o $@ $<\n\n' printf 'out/alf/alf.c: alf/alflist.h alf/alflayout.h alf/alfcompat.h alf/alfpriv.h %s\n' "$(for k in $ALF_SOURCES; do printf ' alf/%s' "$k"; done)" printf '\t@mkdir -p out/alf\n' printf '\t@printf "#include \\"alf.h\\"\\\\n" > $@\n' printf '\t@cat $^ | grep -v "^#pragma once" | grep -v "^#include \\"alf" >> $@\n\n' printf 'out/alf/alf.h: alf/alf.h\n' printf '\t@mkdir -p out/alf\n' printf '\t@cp $< $@\n\n' printf 'out/widgetfactory.c: widgetfactory.cpp\n' printf '\t@cp $< $@\n\n' printf 'out/widgetfactory-c.exe: out/widgetfactory.c out/alf/alf.h out/alf/alf.c\n' printf '\t$(CC) $(CFLAGS) -o $@ out/widgetfactory.c out/alf/alf.c $(LDFLAGS)\n\n' printf 'clean:\n' printf '\trm -rf out/*.o out/*.exe out/*.c out/*.h out/alf\n\n' ) > Makefile.mingw # mingw makefile for amd64 ( printf '# automatically created by makemakefile.sh. DO NOT EDIT!\n' printf '\n' printf 'CC = x86_64-w64-mingw32-gcc\n' printf 'CXX = x86_64-w64-mingw32-c++\n' printf 'CFLAGS = -std=c99 -Wall -Wextra -Wconversion -mwindows -municode -DUNICODE -D_UNICODE -gstabs\n' printf 'CXXFLAGS = -std=c++98 -Wall -Wextra -Wconversion -Wsign-conversion -mwindows -municode -DUNICODE -D_UNICODE -fno-exceptions -fno-rtti -gstabs\n' printf 'LDFLAGS = -luser32 -lcomctl32 -lshell32 -lversion -static\n' printf '\n' printf 'all: out/widgetfactory64.exe out/alf/alf64.c out/widgetfactory64-c.exe\n' printf '\n' printf 'out/widgetfactory64.exe: out/widgetfactory.amd64.o %s\n' "$ALF_MINGW64_OBJECTS" printf '\t$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)\n' printf '\n' for i in $ALF_SOURCES; do printf 'out/%s: %s %s\n' "$(basename "$i" .cpp).amd64.o" "alf/$i" "$(for k in $ALF_HEADERS; do printf ' alf/%s' "$k"; done)" printf '\t$(CXX) $(CXXFLAGS) -c -o $@ $<\n\n' done printf 'out/widgetfactory.amd64.o: widgetfactory.cpp alf/alf.h\n' printf '\t$(CXX) $(CXXFLAGS) -c -o $@ $<\n\n' printf 'out/alf/alf64.c: alf/alflist.h alf/alflayout.h alf/alfcompat.h alf/alfpriv.h %s\n' "$(for k in $ALF_SOURCES; do printf ' alf/%s' "$k"; done)" printf '\t@mkdir -p out/alf\n' printf '\t@printf "#include \\"alf.h\\"\\\\n" > $@\n' printf '\t@cat $^ | grep -v "^#pragma once" | grep -v "^#include \\"alf" >> $@\n\n' printf 'out/alf/alf.h: alf/alf.h\n' printf '\t@mkdir -p out/alf\n' printf '\t@cp $< $@\n\n' printf 'out/widgetfactory64.c: widgetfactory.cpp\n' printf '\t@cp $< $@\n\n' printf 'out/widgetfactory64-c.exe: out/widgetfactory64.c out/alf/alf.h out/alf/alf64.c\n' printf '\t$(CC) $(CFLAGS) -o $@ out/widgetfactory64.c out/alf/alf64.c $(LDFLAGS)\n\n' printf 'clean:\n' printf '\trm -rf out/*.o out/*.exe out/*.c out/*.h out/alf\n\n' ) > Makefile.mingw-amd64 # 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=0x0501 -D_WIN32_WINNT=0x0501 -D_WIN32_IE=0x0501 -nologo\n' printf 'LDFLAGS = /link unicows.lib 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 # vc6 ANSI makefile ( printf '# automatically created by makemakefile.sh. DO NOT EDIT!\n' printf '\n' printf 'CXX = cl.exe\n' printf 'CFLAGS = -O2 -GA -W3 -D_WIN32=0x0501 -D_WIN32_WINNT=0x0501 -D_WIN32_IE=0x0501 -nologo\n' printf 'LDFLAGS = /link /entry:_entry /opt:nowin98 /fixed:no 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-ansi