-
Notifications
You must be signed in to change notification settings - Fork 4
/
zosMakefile
49 lines (40 loc) · 1.57 KB
/
zosMakefile
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
################################################################################
# This program and the accompanying materials are
# made available under the terms of the Eclipse Public License v2.0 which accompanies
# this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html
#
# SPDX-License-Identifier: EPL-2.0
#
# Copyright Contributors to the Zowe Project.
################################################################################
# environment
CC = xlclang
LD = xlclang
LAUNCHER_TARGET = bin/zowe_launcher
LIBYAMLA = ./deps/libyaml/lib/libyaml.a
CFLAGS = -O -D_OPEN_THREADS -D_XOPEN_SOURCE=600 \
"-Wa,goff" -Wall -Wextra -Werror -pedantic \
-Wno-gnu-zero-variadic-macro-arguments \
-Wno-missing-braces \
-Wno-missing-field-initializers \
-Wno-unused-parameter \
"-Wc,langlvl(EXTC99),float(HEX),agg,list(),so(),search(),lp64,xplink" \
"-Wc,goff,xref,gonum,roconst,gonum,asm,asmlib('SYS1.MACLIB'),asmlib('CEE.SCEEMAC')" \
-I . \
-I ./deps/zowe-common-c/h
-I ./deps/zowe-common-c/platform/posix/h
-I ./deps/libyaml/include
LDFLAGS = -Ldeps/libyaml/lib
all: $(LAUNCHER_TARGET)
$(LAUNCHER_TARGET): main.o $(LIBYAMLA)
mkdir -p bin
$(LD) $(LDFLAGS) -o $(LAUNCHER_TARGET) main.o -lyaml || { $(RM) $@; exit 1; }
# cp -X $(LAUNCHER_TARGET) "//'${USER}.ZL.LOADLIB(ZLAUNCH)'"
%.o: src/%.c
$(CC) $(CFLAGS) -o $@ -c $<
$(LIBYAMLA):
cp src/Makefile-yaml deps/libyaml/Makefile
(cd deps/libyaml && $(MAKE))
.PHONY: clean
clean:
$(RM) -f $(LAUNCHER_TARGET) *.o *.lst