1#
2# a very simple Makefile for miniLZO
3#
4# Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
5#
6
7PROGRAM = testmini
8SOURCES = testmini.c minilzo.c
9
10default:
11	@echo ""
12	@echo "Welcome to miniLZO. Please choose one of the following 'make' targets:"
13	@echo ""
14	@echo "    gcc:   gcc"
15	@echo "    unix:  hpux hpux9"
16	@echo "    win32: win32-bc win32-cygwin win32-dm win32-lccwin32"
17	@echo "           win32-intelc win32-mingw win32-vc win32-watcomc"
18	@echo "    dos32: dos32-djgpp2 dos32-wc"
19	@echo ""
20
21
22# Make sure that minilzo.h, lzoconf.h and lzodefs.h are in the
23# current dircectory. Otherwise you may want to adjust CPPFLAGS.
24CPPFLAGS = -I. -I../include/lzo
25
26GCC_CFLAGS = -s -Wall -O2 -fomit-frame-pointer
27
28
29#
30# gcc (generic)
31#
32
33gcc:
34	gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM) $(SOURCES)
35
36cc:
37	cc $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
38
39
40#
41# UNIX
42#
43
44hpux:
45	cc -Ae $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
46
47hpux9:
48	cc -Aa -D_HPUX_SOURCE $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
49
50
51#
52# Windows (32-bit)
53#
54
55win32-borlandc win32-bc:
56	bcc32 -O2 -d -w -w-aus $(CPPFLAGS) $(SOURCES)
57
58win32-cygwin32 win32-cygwin:
59	gcc -mcygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
60
61win32-digitalmars win32-dm:
62	dmc -mn -o -w- $(CPPFLAGS) $(SOURCES)
63
64win32-intelc win32-ic:
65	icl -nologo -MT -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
66
67win32-lccwin32:
68	@echo "NOTE: need lcc 2002-07-25 or newer, older versions have bugs"
69	lc -A -unused -O $(CPPFLAGS) $(SOURCES)
70
71win32-mingw32 win32-mingw:
72	gcc -mno-cygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
73
74win32-visualc win32-vc:
75	cl -nologo -MT -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
76
77win32-watcomc win32-wc:
78	wcl386 -bt=nt -zq -mf -5r -zc -w5 -oneatx $(CPPFLAGS) $(SOURCES)
79
80
81#
82# DOS (32-bit)
83#
84
85dos32-djgpp2 dos32-dj2:
86	gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
87
88dos32-watcomc dos32-wc:
89	wcl386 -zq -mf -bt=dos -l=dos4g -5r -ox -zc $(CPPFLAGS) $(SOURCES)
90
91
92#
93# other targets
94#
95
96clean:
97	rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM).map $(PROGRAM).tds
98	rm -f *.err *.o *.obj
99
100.PHONY: default clean
101