1 # makefile for Scalos Palette preferences
6 #############################################################
8 SUBDIRMAKE
= $(MAKE
) -s
-C
10 #############################################################
12 .PHONY
: clean install nodebug
14 #############################################################
19 CFLAGS
= nostkchk nochkabort strmer dbg
=f nover streq data
=far \
20 define SCALOSLOCALE
=$(SCALOS_LOCALE
) \
21 idlen
=64 idir
=//include
23 AFLAGS
= quiet noexe m
=68020 opt
=NRQB i
=sc
:Assembler_Headers
/
25 LDFLAGS
= quiet batch noicons sd
26 LDLIBS
= LIB
:mempools.lib LIB
:scm.lib LIB
:sc.lib LIB
:debug.lib LIB
:amiga.lib
31 SCALOS_LOCALE
= $(OBJDIR
)/ScalosPalette_locale.h
33 #############################################################
37 #############################################################
40 @
[ -d
$(OBJDIR
) ] || mkdir
$(OBJDIR
) > /dev
/null
2>&1
42 OBJS
= $(ASRCS
:%.asm
=$(OBJDIR
)/%.o
) $(CSRCS
:%.c
=$(OBJDIR
)/%.o
)
44 #############################################################
46 NAME
= .bin_os3
/Scalos_Palette
47 NAMEDBG
= $(NAME
).debug
48 DESTTOOL
= Scalos
:Prefs
/Scalos Palette
49 CAT_FILE
= Scalos
/ScalosPalette.catalog
50 CATCOMPHEADER
= $(SCALOS_LOCALE
)
51 DESTCAT
= Locale
:Catalogs
60 ALLCATS
= $(foreach cat
,$(CATS
),catalogs
/$(cat
)/$(CAT_FILE
))
62 #############################################################
64 # The default target (all) and what to really build
66 all: $(NAME
) $(NAMEDBG
) \
72 #############################################################
74 $(OBJDIR
)/Palette.o
: Palette.c
$(SCALOS_LOCALE
)
76 $(CATCOMPHEADER
) : ScalosPalette.cd
77 @printf
'\033[32mMake CatComp header: \033[31m\033[1m$@ \033[32mfrom \033[31m$<\033[0m\n'
78 $(FLEXCAT
) $(subst ..
/,/,$<) $@
=$(SDPATH
)/CatComp_h.sd
80 #############################################################
82 # CLI command used when linking the final executables
84 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
85 @
$(LD
) FROM
$(CSTARTUP
) $(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) STRIPDEBUG
88 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
89 @
$(LD
) FROM
$(CSTARTUP
) $(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) ADDSYM
91 #############################################################
93 # commands generated a catalog (.catalog) from a catalog translation (.ct) file.
95 $(CATCOMP
) $*.cd
$< CATALOG
$*.catalog VB
=1
98 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
99 @
$(CC
) $(CFLAGS
) $*.c objectname
$@
102 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
103 @
$(AS
) $(AFLAGS
) $< to
$@
105 $(OBJDIR
)/%.o
: %.asm
106 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
107 @
$(AS
) $(AFLAGS
) $< to
$@
109 #############################################################
111 # copy all generated file to their final destinations
113 @printf
'\033[32mInstall: \033[31m\033[1m$(NAME)\033[0m\n'
114 @copy
$(NAME
) "$(DESTTOOL)"
115 @printf
'\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
116 -@
$(foreach cat
,$(CATS
),copy
"catalogs/$(cat)/$(CAT_FILE)" "$(DESTCAT)/$(cat)/Scalos" clone
;)
118 ############################################################
120 # make all Scalos preferences .catalogs
122 -@
$(foreach cat
,$(CATS
),$(SUBDIRMAKE
) catalogs
/$(cat
)/Scalos
;)
124 #############################################################
126 # A little something to clean it all up
128 @printf
'\033[32mCleanup: \033[31m\033[1m'
129 -@delete
$(NAME
) $(NAMEDBG
) $(OBJS
) $(CATCOMPHEADER
) $(ALLCATS
)
132 #############################################################
135 -@
$(SPLAT
) -s
-o
"d2(" "d1(" "#?.c"
137 #############################################################