aboutsummaryrefslogtreecommitdiff
path: root/win32/Makefile
blob: a720e839c3bf758e6cb56629f36a92aa7d3b3a7c (plain)
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
# ------------------------------------------------------------------------------
#  Generic makefile
#
#  Author: Alessandro Iezzi info@alessandroiezzi.it
#  Date  : 2020-05-06
#
#  Changelog:
#    2020-05-06 - first version
# ------------------------------------------------------------------------------

SRC    = ..\src
OBJ    = ..\build
BIN    = ..\bin
RM     = DEL /Q
CC     = cl
CFLAGS = /c /DUNICODE /D_UNICODE
LINKER = link
LFLAGS = /DLL User32.lib

OBJECT_FILES  = $(OBJ)/cherry.obj \
                $(OBJ)/main.obj
INCLUDE_FILES = $(BIN)/include/cherry.h

$(BIN)/cherry.dll: $(BIN) $(INCLUDE_FILES) $(OBJECT_FILES)
	lib /out:$(BIN)/lib/cherry.lib $(OBJECT_FILES)
	@$(LINKER) $(LFLAGS) /out:$(BIN)/lib/cherry.dll $(OBJECT_FILES)

$(BIN)/include/cherry.h: $(SRC)/cherry.h
	copy $(SRC)\cherry.h $(BIN)\include\cherry.h

$(OBJ)/cherry.obj: $(OBJ) $(SRC)/cherry.c $(SRC)/cherry.h
	$(CC) $(CFLAGS) $(SRC)/cherry.c /Fo"$(OBJ)\cherry.obj"

$(OBJ)/main.obj: $(OBJ) main.c
	$(CC) $(CFLAGS) main.c /Fo"$(OBJ)\main.obj"

all: $(OBJ) $(BIN)

$(OBJ):
	mkdir $(OBJ)

$(BIN):
	mkdir $(BIN)
	mkdir $(BIN)\lib
	mkdir $(BIN)\include

clean:
# Remove OBJ directory
	if exist $(OBJ) $(RM) $(OBJ)
	if exist $(OBJ) rmdir /Q $(OBJ)
# Remove lib directory
	if exist $(BIN)\lib $(RM) $(BIN)\lib
	if exist $(BIN)\lib rmdir $(BIN)\lib
# Remove include directory
	if exist $(BIN)\include $(RM) $(BIN)\include
	if exist $(BIN)\include rmdir $(BIN)\include
# Remove BIN directory
	if exist $(BIN) $(RM) $(BIN)
	if exist $(BIN) rmdir /Q $(BIN)