-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
159 lines (137 loc) · 4.03 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#
# Configuration parts of GNU Make/GCC build system.
# Copyright (C) 2014 by KO Myung-Hun <komh@chollian.net>
#
# This file is part of GNU Make/GCC build system.
#
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://www.wtfpl.net/ for more details.
#
##### Configuration parts that you can modify
# specify sub directories
SUBDIRS :=
# specify gcc compiler flags for all the programs
CFLAGS := -Wall -std=gnu99
# specify g++ compiler flags for all the programs
CXXFLAGS :=
# specify linker flags such as -L option for all the programs
LDFLAGS := -Zhigh-mem
# specify dependent libraries such as -l option for all the programs
LDLIBS :=
ifdef RELEASE
# specify flags for release mode
CFLAGS +=
CXXFLAGS +=
LDFLAGS +=
else
# specify flags for debug mode
CFLAGS +=
CXXFLAGS +=
LDFLAGS +=
endif
# specify resource compiler, default is rc if not set
RC :=
# specify resource compiler flags
RCFLAGS :=
# set if you want not to compress resources
NO_COMPRESS_RES :=
# specify BLDLEVEL VENDOR string
BLDLEVEL_VENDOR := OS/2 Factory
# specify a macro defining version, and a file including that macro
# to generate BLDLEVEL version string
BLDLEVEL_VERSION_MACRO := KMIDIDEC_VERSION
BLDLEVEL_VERSION_FILE := kmididec.h
# specify BLDLEVEL VERSION string if you want to set VERSION string manually,
# default is generated with BLDLEVEL_VERSION_MACRO and BLDLEVEL_VERSION_FILE
# if unset
BLDLEVEL_VERSION :=
# Variables for programs
#
# 1. specify a list of programs without an extension with
#
# BIN_PROGRAMS
#
# Now, assume
#
# BIN_PROGRAMS := program
#
# 2. specify sources for a specific program with
#
# program_SRCS
#
# the above is REQUIRED
#
# 3. specify various OPTIONAL flags for a specific program with
#
# program_CFLAGS for gcc compiler flags
# program_CXXFLAGS for g++ compiler flags
# program_LDFLAGS for linker flags
# program_LDLIBS for dependent libraries
# program_RCSRC for rc source
# program_RCFLAGS for rc flags
# program_DEF for .def file
# program_EXTRADEPS for extra dependencies
# program_DESC for a BLDLEVEL description string
BIN_PROGRAMS := kmidi kmidimmio
kmidi_SRCS := kmidi.c
kmidi_LDLIBS := -lkmididec -lkai
kmidi_EXTRADEPS := kmididec_dll.a
kmidi_DESC := K MIDI
kmidimmio_SRCS := kmidimmio.c
kmidimmio_LDFLAGS := -Zomf
kmidimmio_LDLIBS := -lkmididec -lkai -lmmpm2
kmidimmio_EXTRADEPS := kmididec_dll.a
kmidimmio_DESC := K MIDI MMIO
# Variables for libraries
#
# 1. specify a list of libraries without an extension with
#
# BIN_LIBRARIES
#
# Now, assume
#
# BIN_LIBRARIES := library
#
# 2. specify sources for a specific library with
#
# library_SRCS
#
# the above is REQUIRED
#
# 3. set library type flags for a specific library to a non-empty value
#
# library_LIB to create a static library
# library_DLL to build a DLL
#
# either of the above SHOULD be SET
#
# 4. specify various OPTIONAL flags for a specific library with
#
# library_CFLAGS for gcc compiler flags
# library_CXXFLAGS for g++ compiler flags
#
# the above is common for LIB and DLL
#
# library_DLLNAME for customized DLL name without an extension
# library_LDFLAGS for linker flags
# library_LDLIBS for dependent libraries
# library_RCSRC for rc source
# library_RCFLAGS for rc flags
# library_DEF for .def file, if not set all the symbols are exported
# library_NO_EXPORT if set, no symbols are exported in .def file
# library_EXTRADEPS for extra dependencies
# library_DESC for a BLDLEVEL description string
#
# the above is only for DLL
BIN_LIBRARIES := kmididec
kmididec_SRCS := kmididec.c
kmididec_LIB := yes
kmididec_DLL := yes
kmididec_DLLNAME := kmidide0
kmididec_LDLIBS := -lfluidsynth
kmididec_DESC := K MIDI DECoder
include Makefile.common
# additional stuffs