diff --git a/redfish-core/src/redfish.cpp b/redfish-core/src/redfish.cpp
index 66a43d7..e7a58c1 100644
--- a/redfish-core/src/redfish.cpp
+++ b/redfish-core/src/redfish.cpp
@@ -51,31 +51,34 @@
 RedfishService::RedfishService(App& app)
 {
     requestAccountServiceRoutes(app);
-#ifdef BMCWEB_ENABLE_REDFISH_AGGREGATION
-    requestRoutesAggregationService(app);
-    requestRoutesAggregationSourceCollection(app);
-    requestRoutesAggregationSource(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_AGGREGATION)
+    {
+        requestRoutesAggregationService(app);
+        requestRoutesAggregationSourceCollection(app);
+        requestRoutesAggregationSource(app);
+    }
     requestRoutesRoles(app);
     requestRoutesRoleCollection(app);
     requestRoutesServiceRoot(app);
     requestRoutesNetworkProtocol(app);
     requestRoutesSession(app);
     requestEthernetInterfacesRoutes(app);
-#ifdef BMCWEB_ALLOW_DEPRECATED_POWER_THERMAL
-    requestRoutesThermal(app);
-    requestRoutesPower(app);
-#endif
-#ifdef BMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
-    requestRoutesEnvironmentMetrics(app);
-    requestRoutesPowerSubsystem(app);
-    requestRoutesPowerSupply(app);
-    requestRoutesPowerSupplyCollection(app);
-    requestRoutesThermalMetrics(app);
-    requestRoutesThermalSubsystem(app);
-    requestRoutesFan(app);
-    requestRoutesFanCollection(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_ALLOW_DEPRECATED_POWER_THERMAL)
+    {
+        requestRoutesThermal(app);
+        requestRoutesPower(app);
+    }
+    if constexpr (BMCWEB_REDFISH_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM)
+    {
+        requestRoutesEnvironmentMetrics(app);
+        requestRoutesPowerSubsystem(app);
+        requestRoutesPowerSupply(app);
+        requestRoutesPowerSupplyCollection(app);
+        requestRoutesThermalMetrics(app);
+        requestRoutesThermalSubsystem(app);
+        requestRoutesFan(app);
+        requestRoutesFanCollection(app);
+    }
     requestRoutesManagerCollection(app);
     requestRoutesManager(app);
     requestRoutesManagerResetAction(app);
@@ -106,47 +109,51 @@
     requestRoutesPostCodesEntry(app);
     requestRoutesPostCodesEntryCollection(app);
 
-#ifdef BMCWEB_ENABLE_REDFISH_DUMP_LOG
-    requestRoutesSystemDumpService(app);
-    requestRoutesSystemDumpEntryCollection(app);
-    requestRoutesSystemDumpEntry(app);
-    requestRoutesSystemDumpCreate(app);
-    requestRoutesSystemDumpClear(app);
+    if constexpr (BMCWEB_REDFISH_DUMP_LOG)
+    {
+        requestRoutesSystemDumpService(app);
+        requestRoutesSystemDumpEntryCollection(app);
+        requestRoutesSystemDumpEntry(app);
+        requestRoutesSystemDumpCreate(app);
+        requestRoutesSystemDumpClear(app);
 
-    requestRoutesBMCDumpService(app);
-    requestRoutesBMCDumpEntryCollection(app);
-    requestRoutesBMCDumpEntry(app);
-    requestRoutesBMCDumpEntryDownload(app);
-    requestRoutesBMCDumpCreate(app);
-    requestRoutesBMCDumpClear(app);
+        requestRoutesBMCDumpService(app);
+        requestRoutesBMCDumpEntryCollection(app);
+        requestRoutesBMCDumpEntry(app);
+        requestRoutesBMCDumpEntryDownload(app);
+        requestRoutesBMCDumpCreate(app);
+        requestRoutesBMCDumpClear(app);
 
-    requestRoutesFaultLogDumpService(app);
-    requestRoutesFaultLogDumpEntryCollection(app);
-    requestRoutesFaultLogDumpEntry(app);
-    requestRoutesFaultLogDumpClear(app);
-#endif
+        requestRoutesFaultLogDumpService(app);
+        requestRoutesFaultLogDumpEntryCollection(app);
+        requestRoutesFaultLogDumpEntry(app);
+        requestRoutesFaultLogDumpClear(app);
+    }
 
-#ifndef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
-    requestRoutesJournalEventLogEntryCollection(app);
-    requestRoutesJournalEventLogEntry(app);
-    requestRoutesJournalEventLogClear(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_DBUS_LOG)
+    {
+        requestRoutesJournalEventLogEntryCollection(app);
+        requestRoutesJournalEventLogEntry(app);
+        requestRoutesJournalEventLogClear(app);
+    }
 
     requestRoutesBMCLogServiceCollection(app);
-#ifdef BMCWEB_ENABLE_REDFISH_BMC_JOURNAL
-    requestRoutesBMCJournalLogService(app);
-    requestRoutesBMCJournalLogEntryCollection(app);
-    requestRoutesBMCJournalLogEntry(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_BMC_JOURNAL)
+    {
+        requestRoutesBMCJournalLogService(app);
+        requestRoutesBMCJournalLogEntryCollection(app);
+        requestRoutesBMCJournalLogEntry(app);
+    }
 
-#ifdef BMCWEB_ENABLE_REDFISH_CPU_LOG
-    requestRoutesCrashdumpService(app);
-    requestRoutesCrashdumpEntryCollection(app);
-    requestRoutesCrashdumpEntry(app);
-    requestRoutesCrashdumpFile(app);
-    requestRoutesCrashdumpClear(app);
-    requestRoutesCrashdumpCollect(app);
-#endif // BMCWEB_ENABLE_REDFISH_CPU_LOG
+    if constexpr (BMCWEB_REDFISH_CPU_LOG)
+    {
+        requestRoutesCrashdumpService(app);
+        requestRoutesCrashdumpEntryCollection(app);
+        requestRoutesCrashdumpEntry(app);
+        requestRoutesCrashdumpFile(app);
+        requestRoutesCrashdumpClear(app);
+        requestRoutesCrashdumpCollect(app);
+    }
 
     requestRoutesProcessorCollection(app);
     requestRoutesProcessor(app);
@@ -160,22 +167,25 @@
     requestRoutesBiosService(app);
     requestRoutesBiosReset(app);
 
-#ifdef BMCWEB_ENABLE_VM_NBDPROXY
-    requestNBDVirtualMediaRoutes(app);
-#endif // BMCWEB_ENABLE_VM_NBDPROXY
+    if constexpr (BMCWEB_VM_NBDPROXY)
+    {
+        requestNBDVirtualMediaRoutes(app);
+    }
 
-#ifdef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
-    requestRoutesDBusLogServiceActionsClear(app);
-    requestRoutesDBusEventLogEntryCollection(app);
-    requestRoutesDBusEventLogEntry(app);
-    requestRoutesDBusEventLogEntryDownload(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_DBUS_LOG)
+    {
+        requestRoutesDBusLogServiceActionsClear(app);
+        requestRoutesDBusEventLogEntryCollection(app);
+        requestRoutesDBusEventLogEntry(app);
+        requestRoutesDBusEventLogEntryDownload(app);
+    }
 
-#ifdef BMCWEB_ENABLE_REDFISH_HOST_LOGGER
-    requestRoutesSystemHostLogger(app);
-    requestRoutesSystemHostLoggerCollection(app);
-    requestRoutesSystemHostLoggerLogEntry(app);
-#endif
+    if constexpr (BMCWEB_REDFISH_HOST_LOGGER)
+    {
+        requestRoutesSystemHostLogger(app);
+        requestRoutesSystemHostLoggerCollection(app);
+        requestRoutesSystemHostLoggerLogEntry(app);
+    }
 
     requestRoutesMessageRegistryFileCollection(app);
     requestRoutesMessageRegistryFile(app);
