File: Makefile

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (44 lines) | stat: -rw-r--r-- 1,186 bytes parent folder | download
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
SWIFT_OBJC_INTEROP := 1
# This Makefile overwrites the default rules.
USESWIFTDRIVER := 0
EXE := a.out

all: a.out

# This test builds an Objective-C main program that imports two Swift
# .a archives.

include Makefile.rules

ifeq "$(OS)" "Darwin"
SWIFTFLAGS += -sdk "$(SWIFTSDKROOT)"
endif

a.out: main.o
	$(SWIFTC) $(SWIFTFLAGS) $< -lFoo -lBar -L$(shell pwd) -o $@ \
	    -Xlinker -add_ast_path -Xlinker $(shell pwd)/Foo.swiftmodule \
	    -Xlinker -add_ast_path -Xlinker $(shell pwd)/Bar.swiftmodule
ifneq "$(CODESIGN)" ""
	$(CODESIGN) -s - "$@"
endif

main.o: main.m libFoo.a libBar.a
	$(CC) $(CFLAGS) $(MANDATORY_MODULE_BUILD_CFLAGS) -c -o $@ $< \
		-I$(shell pwd)

lib%.o: %.swift
	$(SWIFTC) $(SWIFTFLAGS) $^ -c -parse-as-library -o $@ \
		-Xcc -I$(SRCDIR) \
		-Xcc -I$(SRCDIR)/objcmodules/$(shell basename $< .swift) \
		-module-name $*
	$(SWIFTC) $(SWIFTFLAGS) $^ -emit-module -parse-as-library \
		-emit-objc-header-path $(shell basename $< .swift).h \
		-Xcc -I$(SRCDIR) \
		-Xcc -I$(SRCDIR)/objcmodules/$(shell basename $< .swift) \
		-module-name $*

lib%.a: lib%.o
	$(AR) $(ARFLAGS) $@ -L$(shell pwd) $<

clean::
	rm -rf *.swiftmodule *.swiftdoc *.dSYM *~ lib*.a a.out *.o