summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 919840a4917847818e6591b52203f4ac5776dfd2 (plain) (blame)
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
# CUPL config
CUPL_INSTALL := C:\WinCUPL
CUPL_LIB = ${CUPL_INSTALL}\Shared\cupl.dl
CUPL_PATH = ${CUPL_INSTALL}\Shared\cupl.exe
CUPL_DEV := F1504ISPTQFP44

# SIM config
CSIM_PATH = ${CUPL_INSTALL}\Shared\csim.exe

# Fitter config
# (replace with fitter matching device)
FITTER_PATH := ${CUPL_INSTALL}\Fitters\fit1502.exe
FIT_PKG := TQFP44
FIT_TECH := ATF1504ASV
FIT_ARG = -device ${FIT_PKG} -tech ${FIT_TECH}

# bottles config
BOTTLES_CLI := bottles-cli
BOTTLE_NAME := wincupl ii

# project config
PROJ_NAME := newnewexi
PROJ_PATH = C:\users\steamuser\Documents\${PROJ_NAME}

# extra stuff
CUPL = "${CUPL_PATH}"
CSIM = "${CSIM_PATH}"
FITTER = "${FITTER_PATH}"

# windows shell quoting is hell
BOTTLE_RUN = '${BOTTLES_CLI}' shell -b '${BOTTLE_NAME}' -i

.PHONY: clean, all, compile, fit

all: compile fit sim

compile: ${PROJ_NAME}.pla

fit: ${PROJ_NAME}.tt3

sim: ${PROJ_NAME}.so

clean:
	rm -f *.abs *.io *.jed *.pin *.wo *.lst *.pla *.doc *.fit *.sim *.tt2 *.tt3

%.pla: %.pld %.si
	# Real artifacts: .abs, .lst, .pla, .doc
	${BOTTLE_RUN} '${CUPL} -sfalbuj "${CUPL_LIB}" "${CUPL_DEV}" "${PROJ_PATH}\$<"'

%.tt2: %.pla
	test -e "$@"

%.tt3: %.tt2
	${BOTTLE_RUN} '${FITTER} -i "${PROJ_PATH}\$<" ${FIT_ARG} -o "${PROJ_PATH}\$(basename $@)"'

%.so: %.si
	${BOTTLE_RUN} '${CSIM} -u "${CUPL_LIB}" -l "${PROJ_PATH}\$^" "${PROJ_PATH}\$@"'