81 lines
2.0 KiB
Makefile
81 lines
2.0 KiB
Makefile
# Makefile for ANSICON.
|
|
# Jason Hood, 11 March, 2006. Updated 20 June, 2009.
|
|
|
|
# I've used TDM64 (gcc 4.6.1), building the 32-bit version in the x86 directory
|
|
# and the 64-bit version in the x64 directory. MinGW32 (gcc 3.4.5) will also
|
|
# build the 32-bit version.
|
|
|
|
# 19 November, 2010:
|
|
# explicitly use 64-bit flags, in case the compiler isn't.
|
|
#
|
|
# 13 December, 2011:
|
|
# use CMD for file operations, not programs from fileutils.
|
|
|
|
CC = gcc
|
|
CFLAGS = -O2 -Wall
|
|
|
|
X86OBJS = x86/proctype.o x86/injdll32.o x86/util.o
|
|
X64OBJS = x64/proctype.o x64/injdll64.o x64/injdll32.o x64/util.o
|
|
|
|
x86/%.o: %.c ansicon.h
|
|
$(CC) -m32 -c $(CFLAGS) $< -o $@
|
|
|
|
x86/%v.o: %.rc version.h
|
|
windres -U _WIN64 -F pe-i386 $< $@
|
|
|
|
x64/%.o: %.c ansicon.h
|
|
$(CC) -m64 -c $(CFLAGS) $< -o $@
|
|
|
|
x64/%v.o: %.rc version.h
|
|
windres -F pe-x86-64 $< $@
|
|
|
|
all: ansicon32 ansicon64
|
|
|
|
ansicon32: x86 x86/ansicon.exe x86/ANSI32.dll
|
|
|
|
ansicon64: x64 x64/ansicon.exe x64/ANSI64.dll x64/ANSI32.dll x64/ANSI-LLW.exe
|
|
|
|
x86:
|
|
cmd /c "mkdir x86"
|
|
|
|
x86/ansicon.exe: x86/ansicon.o $(X86OBJS) x86/ansiconv.o
|
|
$(CC) -m32 $+ -s -o $@
|
|
|
|
x86/ANSI32.dll: x86/ANSI.o $(X86OBJS) x86/ansiv.o
|
|
$(CC) -m32 $+ -s -o $@ -mdll -Wl,-shared
|
|
|
|
x64:
|
|
cmd /c "mkdir x64"
|
|
|
|
x64/ansicon.exe: x64/ansicon.o $(X64OBJS) x64/ansiconv.o
|
|
$(CC) -m64 $+ -s -o $@
|
|
|
|
x64/ANSI64.dll: x64/ANSI.o $(X64OBJS) x64/ansiv.o
|
|
$(CC) -m64 $+ -s -o $@ -mdll -Wl,-shared
|
|
|
|
x64/ANSI32.dll: x64/ANSI32.o x64/proctype32.o x86/injdll32.o x86/util.o x86/ansiv.o
|
|
$(CC) -m32 $+ -s -o $@ -mdll -Wl,-shared
|
|
|
|
x64/ANSI-LLW.exe: ANSI-LLW.c
|
|
$(CC) -m32 $(CFLAGS) $< -s -o $@
|
|
|
|
x86/ansicon.o: version.h
|
|
x86/ANSI.o: version.h
|
|
x64/ansicon.o: version.h
|
|
x64/ANSI.o: version.h
|
|
x86/ansiconv.o: ansicon.rc
|
|
x86/ansiv.o: ansi.rc
|
|
x64/ansiconv.o: ansicon.rc
|
|
x64/ansiv.o: ansi.rc
|
|
|
|
x64/ANSI32.o: ANSI.c
|
|
$(CC) -m32 -DW32ON64 $(CFLAGS) $< -c -o $@
|
|
x64/proctype32.o: proctype.c
|
|
$(CC) -m32 -DW32ON64 $(CFLAGS) $< -c -o $@
|
|
|
|
# Need two commands, because if the directory doesn't exist, it won't delete
|
|
# anything at all.
|
|
clean:
|
|
-cmd /c "del x86\*.o 2>nul"
|
|
-cmd /c "del x64\*.o 2>nul"
|