1 # makefile for TitleClock.plugin
7 #############################################################
9 .SUFFIXES
: .asm .plugin .plugin.debug
11 #############################################################
13 CHEADERS
= libbase.h libfuncs.h plugin_data.h
$(COMMON_DIR
)/plugin.h
15 CFLAGS
= nostkchk nochkabort strcons strmer opt dbg
=ff nover \
16 streq data
=far idlen
=64 idir
=include: idir
=$(subst ..
/,/,$(COMMON_DIR
)) \
20 LDFLAGS
= QUIET NOICONS BATCH
21 LDLIBS
= LIB
:sc.lib LIB
:debug.lib LIB
:amiga.lib
23 COMMON_DIR
= ..
/..
/..
/common
/Plugin
26 #############################################################
28 PLUGNAME
= title_clock.plugin
30 #############################################################
32 all: $(PLUGNAME
) $(PLUGNAME
).debug
36 #############################################################
38 CSRCS
= $(COMMON_DIR
)/plugin-classic.c \
40 $(PREFS_DIR
)/prefs_file.c
42 #############################################################
45 @
[ -d
$(OBJDIR
) ] || mkdir
$(OBJDIR
) > /dev
/null
2>&1
47 XSRCS
= $(notdir $(CSRCS
))
48 OBJS
= $(ASRCS
:%.asm
=$(OBJDIR
)/%.o
) $(XSRCS
:%.c
=$(OBJDIR
)/$(notdir %).o
)
50 #############################################################
52 $(OBJDIR
)/title_clock.o
: $(CHEADERS
)
53 $(OBJDIR
)/plugin-classic.o
: $(COMMON_DIR
)/plugin-classic.c
$(CHEADERS
)
55 #############################################################
58 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
59 @
$(LD
) FROM
$(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) STRIPDEBUG
61 $(PLUGNAME
).debug
: $(OBJS
)
62 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
63 @
$(LD
) FROM
$(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) ADDSYM
65 #############################################################
67 $(OBJDIR
)/plugin-classic.o
: $(COMMON_DIR
)/plugin-classic.c
68 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
69 @
$(CC
) $(CFLAGS
) $(subst ..
/,/,$<) objectname
$@
71 $(OBJDIR
)/prefs_file.o
: $(PREFS_DIR
)/prefs_file.c
72 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
73 @
$(CC
) $(CFLAGS
) $< objectname
$@
75 #############################################################
78 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
79 @
$(CC
) $(CFLAGS
) $*.c objectname
$@
82 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
83 @
$(AS
) $(AFLAGS
) $< to
$@
86 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
87 @
$(AS
) $(AFLAGS
) $< to
$@
89 #############################################################
91 $(OBJDIR
)/libfuncs.o
: $(CHEADERS
)
92 $(OBJDIR
)/prefs_file.o
: $(PREFS_DIR
)/prefs_file.h
93 $(OBJDIR
)/plugin-classic.o
: $(COMMON_DIR
)/plugin-common.c
$(CHEADERS
)
95 #############################################################
98 @printf
'\033[32mInstall: \033[31m\033[1m$(PLUGNAME)\033[0m\n'
99 @copy
$(PLUGNAME
) Scalos
:Plugins
/OOP clone
101 #############################################################
103 # A little something to clean it all up
105 @printf
'\033[32mCleanup: \033[31m\033[1m'
106 @delete
$(OBJS
) $(PLUGNAME
) $(PLUGNAME
).debug